¶ Overview
FitMeal Planner turns a short onboarding flow into a personalized 7 day meal plan with recipes, a shopping list, hydration tracking, and a chat assistant. One React codebase ships to web and to mobile through Capacitor, with data stored in Firebase and recipes generated by OpenAI.
¶ Important info
The same React code runs as a web app and as native Android and iOS builds. Anonymous users keep their onboarding answers when they sign up, past days roll forward automatically, and meal photos backfill in the background. Local notifications, hydration taps, and meal logs all work offline through cached data.
¶ Problem faced
Building a reliable meal planner on top of an AI model is hard because the model can return invalid data, plans need to update as days pass, and a free text chat box can be abused. The app also has to run on web and mobile from one codebase.
¶ How it was solved
A single data layer handles Firebase storage, plan generation with schema checks, recipe enrichment, and chat, while guard code screens user messages before they reach the model. Background jobs refresh recipes and images, and Capacitor schedules local reminders from user preferences.