FlavorFit · Case study · 4 min read
FlavorFit
A nutrition platform where a conversational AI writes the plan, a tracker keeps the score, and Stripe handles the tier.
FlavorFit is a private build. The platform and its AI integration run under NDA.
- Client
- FlavorFit
- Year
- 2025
- Role
- Full-stack developer
- Duration
- 12 Weeks
- Industry
- Health & fitness, SaaS
- Tools
- React, Spring Boot, MongoDB, Botpress, Stripe
- Full-stack development
- AI integration
- Subscription billing
At a glance
Challenge
Nutrition advice is a consultation, and consultations do not scale. People want a plan that fits their goals, their preferences and their week, and they want it now, not after a 45-minute call and a PDF.
Solution
A React client over a Spring Boot service, with a Botpress conversational agent that collects the intake and compiles a plan, MongoDB holding users, meals and progress, and Stripe subscriptions and the billing portal handling every tier.
Outcome
A complete subscription product: intake, AI consultation, generated plan, daily tracking and a self-serve billing portal that lets users upgrade or cancel without talking to anyone.
Deliverables
- Conversational AI intake and plan generation
- Personalised meal plan and dietary tracker
- MongoDB document model for users and progress
- Stripe subscription tiers and billing portal
- Responsive React client
Overview
FlavorFit turns a nutrition consultation into a product. The user talks to an AI agent, the agent asks the right questions in the right order, and what comes back is a plan they can actually follow on a Tuesday.
It is a full-stack system with a real business model behind it, which is why the billing and retention mechanics mattered as much as the UI.
The challenge
- Turn a free-form consultation into structured intake data
- Generate plans that respect allergies, budget and time
- Track daily adherence without feeling punitive
- Handle subscription tiers, upgrades and cancellation cleanly
- Keep the AI conversation and the tracked plan in sync
Approach
1. The conversation is the data model
The Botpress agent is not a chatbot bolted onto the side. It is the intake form — every answer maps to a field the plan generator needs, so the conversation and the data model never diverge.
2. Plans are documents, not pages
A plan is a structured document: meals by day, macros, substitutions and a shopping list. Storing it that way means the tracker, the app and any future export all read the same source.
3. Let the user leave without a fight
Stripe’s billing portal handles upgrades, downgrades and cancellation. Keeping churn low-friction is a product decision, and it is cheaper than a retention team.
The solution
A React and Tailwind front-end over a Spring Boot API, with MongoDB holding user documents, plans and progress logs, a Botpress agent handling the conversational layer, and Stripe running subscriptions and the customer portal.
Results
FlavorFit runs as a subscription product. The AI intake produces a structured plan in a single conversation, the tracker turns adherence into a visible streak, and every tier change happens in the Stripe portal without support involvement.
Key takeaways
AI features work when the model is fed a structure. A conversation that writes directly into a data model is worth more than a smarter prompt with nowhere to put the output.
Self-serve cancellation is a feature, not a leak. It lowers support load and keeps the pricing honest.
The plan arrives in the same conversation it was asked in. No call, no PDF, no waiting for Monday — and the tracker is the part people actually keep using.
FAQ
How does the AI plan work?
The intake agent asks about goals, preferences, allergies, budget and schedule, and writes every answer into a structured profile. The plan generator then compiles meals and macros against that profile.
Can I change my plan or tier?
Yes. Plans and subscription tiers are self-serve through the billing portal, including upgrades, downgrades and cancellation.
What happens to my data?
Users, plans and progress records are stored in MongoDB against your account, and the tracking view reads the same plan document the generator produced.
Have a project in mind?
I design and build production websites, platforms and documentation — from the first wireframe to a live deployment.
