El reto
She Is My Nutritionist tenía miles de clientes de pago que consumían contenido de coaching mediante videollamadas de Zoom, planes de comidas en PDF y un grupo privado de Facebook. El abandono era severo: la mayoría de los clientes desaparecía en silencio después de la semana 2 porque no había ningún sistema que los recompensara por seguir el plan, ningún lugar en la app para registrar comidas, ninguna sugerencia automática de 'qué hacer a continuación' y ninguna señal para el coach de que un cliente estaba a punto de abandonar. El coaching es un problema de hábitos, no de contenido — y las herramientas existentes resolvían el problema equivocado.
El encargo era claro: construir un SaaS real en el que la práctica pudiera incorporar a sus clientes de pago, donde el propio producto impulse la participación diaria y semanal, el coach reciba una señal en vivo de quién está activo y quién está en riesgo, y el contenido (recetas + lecciones) se bloquee y desbloquee según el progreso real en lugar de volcarse sobre el cliente de golpe.
Nuestra solución
Construimos Nurtiverse — un SaaS con Next.js + Node.js + Python + MongoDB donde la capa de gamificación es el producto, no una pegatina encima.
La app cliente en Next.js es la superficie diaria que ve cada usuario de pago: registrar una comida, escanear una receta, completar la lección de hoy, consultar su nivel. El seguimiento de calorías y macros es de primer nivel: cada entrada de alimento llega a una API de Node.js que escribe un documento estructurado `MealLog` y activa un cálculo de puntos. Mantener una racha diaria, terminar una lección, completar un objetivo semanal — los puntos se acumulan en un nivel (Bronce → Plata → Oro → Platino) que desbloquea nuevas recetas, nuevas lecciones y nuevas insignias. El contenido bloqueado es visible pero difuminado con un aviso 'se desbloquea en el nivel Plata', de modo que la progresión resulta aspiracional, no punitiva.
El motor de recetas y lecciones en Python es donde reside la propiedad intelectual del coaching. Puntúa las recetas según los macros, alergias, aversiones y nivel del cliente; genera automáticamente una lista de compras a partir de cualquier plan de comidas seleccionado; y decide qué lección mostrar a continuación según el historial de finalización y el itinerario prescrito por el coach. Las recetas incluyen vídeos para cocinar paso a paso entregados mediante una CDN con seguimiento del progreso por segundo, y las lecciones condicionan el siguiente módulo a la finalización real del vídeo (no solo a una casilla de 'marcar como hecho').
La consola del coach es el segundo producto dentro del producto. Los coaches ven a cada cliente de un vistazo: nivel actual, última comida registrada, última lección completada, tendencia semanal de participación y una alerta para quien no ha registrado una comida en 5 o más días. Desde la misma consola pueden enviar un recordatorio con plantilla, prescribir una receta, adelantar una lección, o programar un seguimiento — de modo que el coach opera con señales, no con la memoria de las videollamadas.
Por debajo de todo: suscripciones de Stripe para la facturación, Auth0 + JWT para el acceso por roles, MongoDB Atlas con esquemas Mongoose / Pydantic que mantienen los servicios de Node y Python con el mismo contrato de datos, y Sentry + Datadog para que una consulta lenta de búsqueda de recetas nunca perjudique la retención en silencio.
- Seguimiento de calorías y macros con registro de comidas en menos de 300 ms y documentos `MealLog` estructurados
- Progresión por niveles (Bronce → Plata → Oro → Platino) — los puntos se acumulan en un nivel que desbloquea recetas, lecciones e insignias
- Contenido bloqueado con avisos aspiracionales de 'se desbloquea en el siguiente nivel' en lugar de muros de pago punitivos
- Coincidencia de recetas con Python según macros, alergias, aversiones y nivel — con listas de compras generadas automáticamente a partir de cualquier plan de comidas
- Reproductor de lecciones con seguimiento del progreso del vídeo por segundo — la siguiente lección se desbloquea solo al completar de verdad, no con una casilla
- Consola del coach con nivel actual, último registro, tendencia semanal de participación y una alerta de inactividad a partir de 5 días sin actividad
- Acciones del coach con un clic: enviar un recordatorio, prescribir una receta, adelantar una lección, programar un seguimiento — todo desde la misma pantalla
- Suscripciones gestionadas por Stripe con reparto de ingresos al coach, observabilidad con Sentry + Datadog, MongoDB Atlas y acceso JWT por roles