Sani's A-fare
Personal meal planning app
React + Firestore · Personal Project · 2024
Meal planning is a decision fatigue problem. I don't need 10,000 recipes. I just want someone to tell me what to cook based on the dishes I like along with the ingredients I would need.
From 60 minutes of Sunday stress to one tap.
Why I built this
Every Sunday, my wife Sanchi blocks an hour or two in the evening to plan the week's meals. She decides what to cook, checks the fridge, balances nutrition and protein, plans leftovers and builds a grocery list. I get exhausted just watching her.
To make some time for ourselves before our busy week starts, I decided to automate this. We know the inputs which rarely change, we know what our constraints are and we know what we want as output. Pretty straightforward and can be definitely done with one click.
So I built it. I defined the product, designed the UX, wrote the algorithm, built the frontend and the database. We've used it every single week since.
How the algorithm works
The constraints that make the app personal.
Four decisions I'm proud of
14 slots, not 21
Breakfast is habitual. We eat the same 2–3 things every morning or skip breakfast. Planning it would add complexity without solving a real problem.
Narrower scope. Sharper product.
Deterministic rules
Rules are transparent and debuggable. For me, predictability beats novelty for a tool used weekly.
Less AI. More robust.
Swap one, don't regenerate
Regenerating throws away 13 meals that I was fine with. Swap preserves the mental model. Faster, and more in control.
Intuitive and flexible.
Grocery list = plan output
The list is auto-generated from the current plan. Pantry staples excluded via a configurable list. Swap a meal, the list updates instantly. No manual entry needed.
End to end planning.
The app
Weekly plan — 7 days × 2 meals
Grocery list — 31 items auto-generated
Dish library — the recipe database
The Gap
Recipe apps give you infinite choice which again could be exhausting. Meal kits automate but don't personalize and are expensive. ChatGPT, Claude, etc can generates but it would take time to write the perfect prompt with no way to save the personal, local recipes that we love. Spreadsheets personalize but require maintenance and choosing the recipes for the week. There's a gap at the intersection of fully automated and constraint-aware which I wanted to fill.
What's next
The core loop works well. The next steps would be:
Personalization engine — Track which meals get swapped vs. kept. Use that signal to improve selections over time.
Multi-user households — Support members with different dietary needs in the same plan.
Grocery delivery integration — Connect the auto-generated list to Rewe or Edeka. One tap from weekly plan to delivered groceries.