01 — CONTEXT
El contexto
La Antilla es una tienda online de fotografía original de La Antilla e Islantilla, en Lepe (Huelva): atardeceres sobre el Atlántico, la playa, el paseo marítimo y la vida de la costa, en impresión fotográfica y metacrilato. Las fotografías son de Andrés Ramírez Lería.

02 — PROBLEM
El problema
Vender fotografía no es vender un producto con una sola ficha. Cada foto se compra en varias presentaciones y tamaños, con precios generales y excepciones, se produce bajo pedido y hay que encontrarla por lo que se busca: un lugar, un ambiente de la casa, un regalo o un negocio. Una plantilla de tienda genérica resolvía mal casi todo eso.

03 — CONSTRAINTS
Las restricciones
- 01Cada pieza se fabrica bajo pedido: el pedido tiene que seguir su producción y su envío.
- 02Precio por variante: presentación × tamaño, con precio general y excepciones por foto.
- 03Las imágenes públicas se sirven en derivados con marca de agua; el original no se publica.
- 04Pocas páginas, pero cada una con fotos reales detrás: nada de páginas generadas vacías.
- 05Poder vender aunque el pago con tarjeta no esté activo: el pedido queda pendiente y se confirma a mano.
04 — SYSTEM
Qué decidí construir
Un eCommerce propio en Nuxt 4 sobre MySQL: catálogo con colecciones, lugares, estilos y etiquetas; variantes de presentación y tamaño; carrito, cupones y tarjeta regalo; pago con Stripe; pedidos en un tablero de producción; y un panel de administración con herramientas de IA para el catálogo.

05 — ARCHITECTURE
Arquitectura del sistema
SOFTWARE
Software
- Ficha por fotografía con presentación, tamaño, precio y guía de tamaños.
- Colecciones con filtros por orientación y precio, favoritos, novedades y buscador.
- Carrito, cupones, tarjeta regalo y pago con Stripe, o pedido pendiente por transferencia.
- Pedidos en tablero: pendiente, pagado, producción, enviado con seguimiento y entregado.
- Panel propio: catálogo con acciones en lote, precios, colecciones, páginas, reseñas y soporte.
DATA
Datos
- Modelo en MySQL con Drizzle: fotos, productos, categorías, presentaciones, tamaños y precios.
- Precio general por variante y excepciones por foto; el pedido guarda una instantánea de título, variante y precio.
- Derivados de imagen generados con sharp y cacheados, con marca de agua.
- Páginas por colección, lugar, estilo, temporada, etiqueta, ambiente, regalo y tipo de negocio.
- Sitemap dinámico con entrada de imagen para cada fotografía.
AI / AUTOMATION
IA y automatización
- Etiquetado con visión restringido a un vocabulario cerrado: el modelo solo puede usar etiquetas que ya existen.
- Mockups de ambiente generados con IA desde el panel: la foto colocada en un salón, un dormitorio o una recepción.
- Textos de colecciones y páginas temáticas sugeridos con IA y revisados en el panel antes de publicar.
- Contenido para redes a partir de cada foto: descripciones en español e inglés, ganchos y hashtags.
06 — DECISIONS
Decisiones importantes, y por qué
La variante es el producto
Lo que se vende no es la foto, sino la foto en una presentación y un tamaño. El modelo de datos y los precios se diseñaron a partir de ahí.
Vocabulario cerrado para la IA
Un modelo libre inventa etiquetas y rompe las páginas por etiqueta. Restringirlo a un vocabulario canónico mantiene el catálogo coherente.
Pocas páginas, cada una con fotos reales
Las páginas por intención solo existen donde hay fotografías que las respaldan. Miles de páginas finas es lo que los buscadores penalizan.
Vender sin depender de la pasarela
Sin claves de Stripe, el pedido se crea pendiente y se confirma a mano. La tienda funciona desde el primer día.

07 — RESULT
Resultado
- En producción en lantilla.com, con 186 fotografías publicadas en su sitemap.
- Páginas públicas por colección, lugar, estilo, temporada, etiqueta, ambiente, regalo y tipo de negocio.
- Panel de administración propio con pedidos, catálogo, páginas y herramientas de IA.
Sin cifras de negocio inventadas: lo que se muestra es lo que existe y está documentado.

08 — STACK
Stack técnico
- Nuxt 4
- Vue 3
- TypeScript
- MySQL
- Drizzle ORM
- sharp
- Stripe
- OpenAI
09 — SIMILAR PROBLEMS
Qué problema parecido puedo resolver
- →Tu catálogo tiene variantes, precios y excepciones que una tienda estándar gestiona mal.
- →Vendes productos fabricados bajo pedido y necesitas seguir su producción y su envío.
- →Quieres páginas por intención de búsqueda sin generar contenido vacío.
- →Necesitas IA para catalogar o describir productos, con control sobre lo que puede decir.
Este proyecto es un ejemplo de software a medida y ia y automatización.
