What makes it different
Each one links back to its publisher. Nothing is made up, and instructions stay on the source page.
“Uses 7 of yours, buy 3” is computed in code, never estimated by a model.
Amounts across recipes are added up and rounded to real package sizes, by aisle.
From fridge to list
- STEP 1
Add what you have
Type what's in your kitchen.
AI matches odd names - STEP 2
Find recipes
Real recipes, ranked by how many of yours they use.
AI can search further - STEP 3
Plan the week
Save favorites and pick this week's meals.
You choose - RESULT
Shopping list
One list for the week, by aisle.
Code
Each does the part it is good at
The model does
- Matches an item it can't find (“tenderstem”) to one on the store list, for you to confirm
- Picks a few recipes from a shortlist code has already ranked and filtered
- Writes a one-line reason for each pick, rejected if it contains a number
- Chooses search terms and when to stop, in search further
Code does
- All package math and the shopping list
- Match counts and ranking
- Dietary filters, which fail closed
- Suggested chips and the “results are weak” rule
- Checking every recipe the agent finds, and every limit it runs under
A list you can shop from
Produce
- Buy 3 bags of Carrotrecipes need 32 oz · 12 oz per bag
- Buy 1 bulb of Garlic Clovesrecipes need 4 cloves · 10 cloves per bulb
Pantry
- Buy 1 can of Canned Tomatorecipes need 7.94 oz · 14.5 oz per can
- Buy 1 container of Paprikarecipes need about 0.38 oz · 2.12 oz per container
Probably have, check before you go: Black Pepper, Olive Oil, Onion, Salt
Lines from the demo's sample week of two real recipes. The match badge is an illustration of how results are labeled.
In this demo, and what's next
In this demo
- Shopping list by store section, with items to cross off
- Use what I have: real recipes ranked by how many of your items they use
- Search further, when the pool comes up short
- Recipes: browse, save, add by link, pasted text or typing
- This week: several recipes combined into one list
- Pantry and a one-screen profile for diet, cuisines and a “never” list
- Fridge, pantry and receipt photos to add ingredients
- Automatic weekly meal planner
- Household accounts shared across devices
- Instacart link
- Learning tastes from ratings
The AI and coding elements
AI
- Mapping
- Claude Haiku 5.5, the lowest-cost model. It may only answer with a name from the store list, or none.
- Picks
- Claude Sonnet 5.5, choosing from a code-ranked, diet-filtered shortlist. Any id outside it is dropped.
- Search further
- Claude Sonnet 5.5 with four tools: search by ingredient, search by name, check a recipe, finish. Code runs every tool.
- Structured output
- Answers come back as JSON against a schema, then code checks them again.
Code
- Engine
- A rule-based ingredient parser, unit conversion, package rounding, diet table and ranking, all in TypeScript.
- Server
- One Netlify Function holds the API key, the spend caps and the fetch rules. It runs no schedule.
- Your data
- Your household lives in your browser. The server keeps the recipe pool, the day's spend and cached recipe data. No accounts, analytics or cookies.
- Recipes
- From TheMealDB's public API, which invites this use and asks for credit and a link back. Both are given.
What is measured, and what is not
Checked line by line against the original version on every recipe it could price: 634 lines, all identical.
A 20-recipe test set: no restricted recipe gets through, and anything unmapped says “can't confirm.”
$0.10 per search further, $3 a day, 10 AI actions per device per day. Tested with the caps set to one cent.
A filter, not a guarantee. Diet settings rule recipes out in code, but anything the table can't vouch for says “can't confirm, check the label.” It makes no health claims. Always read the label when it matters.
Try it with your fridge
Starts with a sample household, so there's something to see straight away. Your changes stay in your browser.