Skip to content
Go back

Foodie

From recipe to receipt, optimised.

Foodie product shot
Status
In progress
Stage
Approaching closed beta
First shipped
21 Jun 2026
Stack
Golang, Postgres, NextJS, Typescript, React, Tailwind, Fly.io, Wrangler

Why I built this

I was throwing out food every week and spending too much on impulse groceries. I wanted a tool that treated the kitchen like a system — inventory in, recipes through, nutrition out — and I couldn’t find one that respected my time and my budget. So I built it.

Foodie treats your pantry as a database, your recipes as queries, and your week as a constraint. The goal isn’t another recipe app. It’s to make “what should I eat” a solved problem so the rest of life gets a little quieter.

What it does today

What’s next

A closed beta. A recent burn-down put the remaining work at fourteen issues; ten are done. What’s left is unglamorous and deliberate: graceful states when an ingredient won’t match, a mobile and dark-mode pass at 375px, an end-to-end self-test to find the friction before strangers do, and validating demand with real people before the build finishes.

Held back until that ships: the optimiser proper, which takes a budget and a household profile as constraints rather than just finding the cheapest shop; promotions as a first-class input, so a Clubcard deal or a multi-buy can flip which store wins; nutrition scoring; and the mobile app, so the list is in your pocket before you leave the house.

One thing that won’t change: a basket is single-store and complete, or it isn’t offered. Sending you to three shops to save eighty pence is not a product.

Iteration log

  1. 27 Jul 2026
    v1.67.1 — catchweight pricing; standing basket-coverage regression gate
  2. 21 Jul 2026
    web app — opt-in weekly budget with a progress guardrail
  3. 13 Jul 2026
    v1.57.0 — units-to-buy (pack count) per basket line
  4. 10 Jul 2026
    v1.56.0 — household servings; stateless cheapest-basket API
  5. 5 Jul 2026
    web app — offline-durable shopping: service-worker app shell, persisted check-offs
  6. 21 Jun 2026
    v1.46.0 — deployed to Fly.io with managed Postgres
  7. 13 Jun 2026
    web app — weekly plan picker, grocery check-off, aisle-sorted in-store mode
  8. 11 Jun 2026
    v1.41.0 — basket reliability: ingest-time relevance guard; 100% single-store coverage across the 50-meal harness
  9. 25 May 2026
    v1.22.0 — Asda, Waitrose, Morrisons; basket pricing
  10. 10 May 2026
    v1.10.0 — Sainsbury's collector; Jaccard product clustering
  11. 29 Apr 2026
    v1.0.0 — ingredient taxonomy + scoring engine
  12. 21 Mar 2026
    prototype — Tesco + PostgreSQL end-to-end pipeline

See all products →