The challenge
She Is My Nutritionist had thousands of paying clients consuming coaching content over Zoom calls, PDF meal plans, and a private Facebook group. Drop-off was severe: most clients quietly disappeared after week 2 because there was no system that rewarded them for sticking with the plan, no in-app place to log meals, no automatic surface of 'what to do next', and no signal to the coach that a client was about to lapse. Coaching is a habit problem, not a content problem — and the existing toolchain was solving the wrong one.
The ask was clear: build a real SaaS the practice could put paying clients on, where the product itself drives daily and weekly engagement, the coach gets a live signal of who is active and who is at risk, and content (recipes + lessons) gates and unlocks based on real progress instead of being dumped on the client all at once.
Our solution
We built Nurtiverse — a Next.js + Node.js + Python + MongoDB SaaS where the gamification layer is the product, not a sticker on top of it.
The Next.js client app is the daily surface every paying user sees: log a meal, scan a recipe, complete today's lesson, check your tier. Calorie and macro tracking are first-class: every food entry hits a Node.js API that writes a structured `MealLog` document and triggers a points calculation. Hit a daily streak, finish a lesson, complete a weekly goal — points roll up into a tier (Bronze → Silver → Gold → Platinum) that unlocks new recipes, new lessons, and new badges. Locked content is visible but blurred with a 'unlock at Silver tier' nudge — so progression is aspirational, not punitive.
The Python recipe + lesson engine is where coaching IP lives. It scores recipes against a client's macros, allergies, dislikes, and tier; auto-generates a grocery list from any selected meal plan; and decides which lesson to surface next based on completion history and the coach's prescribed track. Recipes ship with cook-along videos delivered through a CDN with per-second progress tracking, and lessons gate the next module on real video completion (not just a 'mark as done' checkbox).
The coach console is the second product inside the product. Coaches see every client at a glance: current tier, last meal logged, last lesson completed, week-over-week engagement trend, and a flag on anyone who hasn't logged a meal in 5+ days. From the same console they can send a templated nudge, prescribe a recipe, push a lesson out of order, or schedule a check-in — so the coach is operating on signal, not on Zoom-call memory.
Underneath it all: Stripe subscriptions for billing, Auth0 + JWT for role-scoped access, MongoDB Atlas with Mongoose / Pydantic schemas keeping the Node and Python services on the same data contract, and Sentry + Datadog so a slow recipe-search query never silently kills retention.
- Calorie + macro tracking with sub-300ms meal logging and structured `MealLog` documents
- Tiered progression (Bronze → Silver → Gold → Platinum) — points roll up to a tier that unlocks recipes, lessons, and badges
- Locked content with aspirational 'unlock at next tier' nudges instead of punitive paywalls
- Python-powered recipe matching against macros, allergies, dislikes, and tier — with auto-generated grocery lists from any meal plan
- Lesson player with per-second video progress tracking — next lesson unlocks only on real completion, not a checkbox
- Coach console with current tier, last log, week-over-week engagement trend, and an inactivity flag fired at 5+ days silent
- One-click coach actions: send a nudge, prescribe a recipe, push a lesson, schedule a check-in — all from the same screen
- Stripe-managed subscriptions with coach revenue-share split, Sentry + Datadog observability, MongoDB Atlas, role-scoped JWT access