01 — CONTEXT
El contexto
Gustela es una carta digital inteligente para restaurantes. Para venderla hacía falta prospectar restaurantes a escala: localizarlos, contactarlos, hacer seguimiento y respetar las bajas y los rechazos de cada contacto.
02 — PROBLEM
El problema
Un CRM genérico obliga a adaptar el proceso a su modelo. El de Gustela tenía necesidades concretas: leads de fuentes públicas, campañas por lotes con límite diario, seguimiento por tareas y exclusión automática de quien no debe recibir más mensajes.

03 — CONSTRAINTS
Las restricciones
- 01Cumplimiento antes que volumen: nadie dado de baja, rebotado o marcado como no contactar puede volver a la cola.
- 02Envíos por lotes respetando un límite diario.
- 03Poder trabajar sin enviar nada: con el SMTP desactivado, los envíos se simulan y se registran.
04 — SYSTEM
Qué decidí construir
Un CRM interno de prospección comercial: pipeline, fichas de lead, campañas de email con cola de envíos, tareas de seguimiento, plantillas y listas de supresión.

05 — ARCHITECTURE
Arquitectura del sistema
SOFTWARE
Software
- Dashboard con métricas del pipeline, seguimientos pendientes y actividad reciente.
- Tabla de leads con filtros, chips rápidos y ficha lateral.
- Ficha completa: contacto, outreach, fuentes, notas, tareas y datos comerciales.
- Acciones masivas: cambiar estado, añadir a campaña, crear tareas, exportar CSV y marcar no contactar.
- Página pública de baja.
DATA
Datos
- Leads de restaurantes importados a MySQL desde fuentes públicas.
- Historial de estados de cada lead.
- Registro de eventos de outreach por lead y por campaña.
AI / AUTOMATION
IA y automatización
- Construcción automática de la cola de envíos de cada campaña.
- Exclusión automática antes de encolar: no contactar, bajas, quejas, rebotes, emails inválidos, suprimidos o cerrados.
- Procesamiento por lotes respetando el límite diario.
Este sistema no usa IA. Las reglas de la cola y del cumplimiento son claras: el software convencional es más fiable y más barato.

06 — DECISIONS
Decisiones importantes, y por qué
Construir en vez de adaptar
El proceso comercial —fuentes, cola, cumplimiento— era lo específico del negocio: justo lo que un CRM genérico resuelve peor.
El cumplimiento vive en el servidor
La exclusión se aplica automáticamente antes de encolar. No depende de que alguien se acuerde.
Simular antes de enviar
Con el SMTP desactivado, todo el flujo funciona y queda registrado sin enviar un solo correo.
Sin IA
Nada en este proceso la necesitaba. Añadirla habría sumado coste e incertidumbre sin aportar capacidad.

07 — RESULT
Resultado
- CRM interno con pipeline, campañas, cola de envíos, tareas, plantillas y supresiones.
- Modo de envío simulado para probar el flujo completo sin enviar correos.
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
- Tailwind CSS
- MySQL
- Nodemailer
09 — SIMILAR PROBLEMS
Qué problema parecido puedo resolver
- →Tu proceso comercial no cabe en el modelo de un CRM estándar.
- →Necesitas campañas y seguimiento con reglas de cumplimiento propias.
- →Trabajas con leads de fuentes propias o públicas que hay que ordenar.
Este proyecto es un ejemplo de software a medida y ia y automatización.
