Self-hosted recipe planner: recipes, AI agents, and grocery automation
This series is my self-hosted alternative to food subscription services: Tandoor for recipes, an OpenClaw AI agent for meal planning and shopping lists, and optional automation to close the loop.
Intro#
I have been using meal kit subscriptions on and off for a while, and honestly? The recipes are fine, but the subscription model is annoying. I do not always want three meals a week. Sometimes I want five. Sometimes I want to cook from my own recipes. And I definitely do not want to pay for stuff I could automate myself (famous last words).
So I am building my own alternative. The plan is simple:
- Self-host a recipe library with Tandoor Recipes
- Connect an AI agent (Remy, via OpenClaw) that can find recipes, plan meals, and build shopping lists
- Automate the last mile — from shopping list to grocery cart, so the whole loop runs itself
What we are building#
The full stack looks like this:
- Tandoor Recipes — the recipe library, meal planner, and ingredient manager (self-hosted, Docker)
- OpenClaw + Remy — an AI agent that connects to Tandoor via MCP, finds recipes, plans the week, and manages shopping lists
- Bring! — shopping list app that Remy writes to via an MCP server
- Optional: grocery automation — pre-fill a cart at a local store (work in progress)
Set up Tandoor
Part 1
Recipe Library
Deploy Tandoor Recipes with Docker Compose, configure the reverse proxy, and import your first recipes. The foundation for everything else.Connect the AI agent
Part 2
OpenClaw + Remy
Set up the Remy agent in OpenClaw, connect it to Tandoor and Bring! via MCP, and start chatting with your recipe assistant on Matrix.Automate the loop
Part 3
Full automation
Wire everything together: ask Remy for a weekly plan, have it generate a deduplicated shopping list, and (optionally) pre-fill a grocery cart.
Prerequisites#
You do not need all of these to follow along, but the full setup assumes:
- A server with Docker (I use a Ubuntu VM on Proxmox)
- A domain name and reverse proxy (I use Nginx)
- An OpenClaw gateway with at least one agent configured
If you do not have OpenClaw yet, start with the OpenClaw setup guide.