autoPlan
An automated meal-planning loop that drafts the week, surfaces it for vetoes, and lands it in a finished grocery cart — quietly, on a Thursday-night cron.
Visit autoPlanThe problem
Every household runs a tax on Thursday night: what are we eating next week, and who’s going to the store. The conversation drains an hour and rarely produces a plan that survives Monday. The work isn’t hard — it’s recurring, judgment-based, and ripe for automation, but the existing meal-planning apps optimize for ad-revenue scrolling rather than getting dinner on the table.
The approach
autoPlan runs the loop on a Thursday-night cron. A Python job on GitHub Actions pulls the household’s recipe library, generates a balanced week, and posts the proposal to a Telegram group. The household votes via inline buttons — accept, swap, or veto — and the plan locks in. A Cloudflare Worker holds state across the loop in D1; Supabase stores the recipe library.
Telegram as the interface
Telegram is where the household already lives. Proposals land as inline-keyboard messages — one tap to accept, swap, or veto a meal. The Worker handles the webhook traffic, persists votes to D1, and edits the message in place as the plan evolves. No new app, no new login, no new place to remember to check.
Cart as the output
Once the plan locks, a Playwright job translates each meal into a multi-store Instacart cart — Costco for bulk proteins, Kroger for produce, Aldi for pantry, Sprouts for organic, Target for household. The cart is ready before the conversation about ordering starts. The output is the meal, not the spreadsheet.
Where it stands
autoPlan v1 is single-household — a private system running for one family of two. The Thursday loop runs unattended every week, with the recipe library, household preferences, and cook-history all stored as the system’s memory. Next phases on the roadmap: multi-household support and a recipe-discovery layer that adapts to cook-feedback over time.
