Web application
Pantry planner
A meal planner that tracks what is in the kitchen and when it expires, plans the week, works out exactly what to buy and suggests dishes that use food before it goes off.

01 Problem
Food gets wasted and duplicates get bought because the meal plan, the pantry and the shopping list live in separate places, and recipes mix grams, cups and cloves, so working out what is still needed by hand is slow and error-prone.
02 Approach
- A server-rendered FastAPI app with htmx and hand-written CSS keeps the pantry, recipe book and weekly plan in one place, with accounts, sessions and CSRF protection.
- A unit-aware engine scales recipes to the planned servings, converts between units and subtracts what the pantry already holds to produce the shopping list.
- "What can I cook?" asks Claude for suggestions as validated JSON, sending only ingredient names and days to expiry; without a key a rule-based matcher answers, and the page says which one did.
03 Evidence
- About 155 unit and API tests, run on SQLite and PostgreSQL in CI
- Browser tests pass locally and against the live deployment
- Strict mypy, ruff and a dependency audit in CI
The repository README explains how to run each test suite, and its continuous integration history is public.