A menu with actual constraints
Five slots, active dishes only, category limits, rotation history, prep dependencies, and server-side checks after the AI responds.
Private AI meal operations
Heisenberg is a Telegram-first meal planner that drafts the week, takes changes in plain English, remembers who likes what, and keeps every dinner inside the household rules.
The weekly ritual
No dashboard to maintain. The household stays in the group chat it already uses.
Every Friday at 6 PM, Heisenberg assembles five dinners using the active dish list, rotation history, and household guardrails.
Tag the bot or reply to its message. Swap a dish, recategorise an ingredient, change a rule, or ask why something was chosen.
The server validates every edit, keeps prep notes attached, then stores the confirmed plan on persistent Railway storage.
A tiny simulation
Tap through the flow to see what the bot actually does. These are representative screens—not a generic chatbot demo.
What’s inside
The clever part is not generating text. It is turning conversation into controlled changes that survive the next deploy.
Five slots, active dishes only, category limits, rotation history, prep dependencies, and server-side checks after the AI responds.
Telegram user IDs keep Aniket and his brother distinct, so advice and personal context go to the right person.
Free-form memories can be personal or shared. They are searchable, inspectable, forgettable, and never trusted as system instructions.
It responds only to a tag, a reply, or a slash command—and every answer links back to the message that triggered it.
Telegram calls the application directly. The HTTP API and MCP tools live on the same service with independent bearer tokens. The public landing page and health check stay open.
Under the hood
One Node.js service, one persistent volume, one household. No microservice maze required.
The cook is in
Private household project.
Publicly documented, sensibly secured.