Gabriel Segovia
ESEN
Escribime
Volver a proyectos

Mister Importados

Tienda online · En producción

Catálogo con buscador, filtros y variantes. El carrito arma el pedido completo y lo manda por WhatsApp, así el dueño solo cierra la venta.

Captura de la página principal de Mister Importados

Datos rápidos

  • Rol: desarrollador full stack, infraestructura y mantenimiento.
  • Cliente: una tienda de productos importados que vende por Instagram y WhatsApp.
  • Stack: Next.js, React, Tailwind CSS, Supabase propio, Zod, Umami y Docker.
  • Mantenimiento: mensual, acordado con el cliente.

El problema

El dueño perdía horas por día respondiendo “¿qué celulares tenés?” y mandando fotos sueltas por WhatsApp. Era un trabajo repetitivo que no escalaba, y su única vidriera era Instagram.

Acordamos tres metas para los primeros 3 meses: más de 300 productos cargados, más del 60 % de las consultas de WhatsApp llegando con el mensaje armado desde la web, y el sitio indexado en Google con las categorías principales.

Las restricciones: sin cobro online, pedido solo por WhatsApp, variantes distintas según el producto (sabor, capacidad, color; los perfumes no tienen), registro de usuarios cerrado y una identidad premium en blanco y negro.

Cómo lo encaré

  • Una entrevista de 27 preguntas para definir alcance, usuarios y qué quedaba afuera. El brief lo aprobó el cliente antes de escribir código.
  • Stack justificado. Next.js con renderizado en el servidor, porque el cliente necesita aparecer en Google. Supabase propio y recortado para no pagar un plan en la nube. Descarté una versión más liviana porque obligaba a reescribir el login y las políticas de acceso.
  • Reutilicé lo que ya funcionaba de un proyecto anterior (el panel, el importador de productos y el enlace a WhatsApp), y dediqué el tiempo a lo nuevo.
  • Un solo contenedor sirve el catálogo y el panel de administración. Un middleware decide por dominio cuál mostrar.

Qué construí

  • Catálogo con buscador, filtros, variantes, estado de stock (“entrega inmediata” o “por encargo”) y precio en dólares con su equivalente en pesos según la cotización.
  • Pedido por WhatsApp: el carrito arma un mensaje con producto, variante, precio y enlace, para que el dueño solo cierre la venta.
  • Panel con roles: el dueño crea los usuarios ayudantes, que solo gestionan el catálogo. El registro público está cerrado.
  • Importador de productos con reglas fijas, sin IA, que se adapta a cada proveedor.
  • Analítica sin cookies con Umami propio: no hace falta banner de cookies.
  • Seguridad: RLS en las tablas expuestas, secretos fuera del repositorio y datos validados con Zod.

Resultados

Qué Dato
Memoria en uso (Supabase recortado, app y analítica) Unos 625 MB en total, medidos el 07-10-2026
Backup Diario, con restauración probada el 07-10-2026
Dominio propio Registrado y apuntando al servidor
Pruebas automáticas Carrito, catálogo, disponibilidad, imágenes y validaciones

Las tres metas del brief las voy a medir con Umami y Search Console.

Qué aprendí

  • Definir cómo se mide el éxito antes de empezar, no después.
  • Reutilizar bien ahorra más que programar rápido.
  • Dejar por escrito lo que decide el cliente, para que no haya malentendidos al lanzar.
JavaScriptPostgreSQLCSSNext.jsReactSupabaseTailwindDocker
Sitio

Escribime