Plan a whole household’s meals by answering one question: who is eating which meal at home? Everyone picks, the household decides, and the cook knows exactly what to make — strictly vegetarian, egg-free, built around everyday Indian home food.
Being tested with real households. Accounts are approved by hand — see below.
“What should we cook?” gets settled by whoever is loudest, a WhatsApp thread, or the one person who happens to remember everybody’s tastes.
Nobody has told them how many are eating. Cooking for the wrong number is the commonest waste in a household kitchen, in both directions.
Left to memory a household circles the same handful of meals, serves somebody a dish they quietly dislike, and shops for things already in the kitchen.
Creates the flat or group, approves who joins, manages the cook, and chooses how a plan gets approved.
Say whether they are eating each meal, pick dishes, vote on breakfast, and teach the planner their taste.
Counted in the headcount without needing an account at all. Somebody staying for dinner is a number the cook needs, not a signup.
Has their own login. Checks in by scanning the kitchen’s wall QR, sees every flat they work for, the day’s plan and headcount, and their own job history.
Open a day and say whether you are eating. Each meal shows the household count as it fills in — 2/3 eating at home — so whoever is cooking knows when to start instead of going round asking.
Breakfast offers a few suggested dishes as chips with a + to search for anything else; one tap saves it. Tea, coffee or neither sits beside it as a small cup menu, remembered on your phone.
Lunch and dinner are built as a basket of six: curry, roti, dal, rice, salad, drink. Tap a tile for the common action — choose a curry from three suggestions, add one more roti, switch the dal or the drink off. Long press opens the full sheet, with search, your recent choices and how many you want. A red none clears an item outright, and roti can go to none.
Can’t find a dish? Add it from the same sheet and it joins your flat’s dishes, chosen for that meal straight away. The principle underneath: most things should take one tap, and nothing should feel like filling in a form.
Screenshots from the running build, not mock-ups.
No black box picks your dinner. Suggestions come out of rules you can argue with: who is home, each person’s likes and loves, their never list, variety and repeat limits, and what the pantry actually holds.
Breakfast is settled by votes with fixed tie-breaks. Lunch and dinner combine everybody’s baskets item by item. The same inputs always give the same result — a planner that answers differently each time it is asked cannot be trusted, and cannot be debugged when it gets something wrong.
Asking somebody to rate four hundred dishes is a form nobody finishes, so the planner asks differently. Swipe a card right to like it, left if not, hold the heart to love it, drag up for the recipe; tags show while you hold. There is a head-to-head mode too — which of these two would you rather eat — because choosing between aloo paratha and aloo pyaz paratha says more than scoring either alone.
Your likes and loves feed everybody’s suggestions, not just your own, which is how a household ends up with meals that suit the people actually at the table.
A large library of vegetarian Indian dishes — breakfast, lunch, dinner and regional cooking — with ingredients and recipes where they exist, searchable by dish or by ingredient. Anything your household adds joins it.
The pantry tracks what is in, what is low, what has run out and what to buy, and raises it as something needing attention rather than burying it. The planner cannot suggest its way around a kitchen that is out of atta.
In most Indian homes the person planning the meals is not the person cooking them, and that handover is a phone call at an awkward hour. So the cook is a real role here, with their own login — not a phone number somebody texts.
They scan the kitchen’s wall QR to check in, morning or evening, and see every flat they work for, each one’s calendar of meals, and their own job history. The household gets a cook share card: the final dishes with the headcount, members and guests counted apart, to copy as text or send as an image.
It will not share early. The card unlocks only once breakfast, lunch and dinner each have a final household decision, because a headcount sent while two people are undecided will be cooked to. Reminder hooks exist for the previous night and the morning, and they are informational: nothing is sent on your behalf and no messaging API is called.
Any member can draft a full seven days — this week or any of the next three — and submit it for the others. How it passes is the household’s own choice: everyone, a majority, or the host alone.
Once a week is submitted or approved it stops changing. Revising it creates a new version, and the old one is superseded only when the replacement is itself approved. A plan that can be edited after everybody agreed to it is not a plan anybody agreed to.
This is not finished software. It is running on a staging environment and being used and tested; production is kept separate and untouched. Saying otherwise on this page would be the one thing that wastes your time.
Accounts reflect that. A new one is created waiting for approval and cannot sign in until somebody approves it, so signing up is a request rather than an entry. If you keep a household and want to try it, ask — that is a real invitation, not a form.
It runs in the browser and installs from it: add it to your home screen and it behaves like any other app, which is why the web version exists at all. Android and iOS builds exist in the codebase but are not being handed out yet; when they are, they will be here rather than described here.
Flutter for Android, iPhone and the web from a single codebase, against a Java 21 Spring Boot modular monolith over REST and JSON. PostgreSQL underneath, where every schema change is a versioned migration — thirty-five of them so far — and never a hand-edited table.
Each milestone has to pass its own tests before the next one starts: roughly 154 on the backend and 180 in the app, plus static analysis and a release build. Access is checked per flat on every request, there are rate limits per user and per address, and no secret lives in the repository.