Mister Importados
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.

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.