Skip to content
Go back

Foodie

From recipe to receipt, optimised.

Foodie product shot
Status
In progress
Stage
Closed beta gate cleared
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

Real users. The checklist I wrote for putting Foodie in front of strangers is done: the week reads as one canvas with a single next step, a first-timer can reach a priced basket from a standing start, and there’s enough telemetry to see where someone actually falls out rather than guess.

What’s left isn’t code. I need to walk a Foodie basket through a real supermarket and log every discrepancy between the screen and the shelf, and make one deliberate end-to-end pass myself to find the friction before someone else does. Then a closed beta: five to eight people, hand-held, watched.

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.

Progress towards shipping

Closed beta

90/100

100 means Foodie is in front of five to eight real people, watched closely. The engine, the web app, the onboarding and the telemetry to see what a stranger actually does are all built and deployed. What's left isn't code: walking a Foodie basket through a real supermarket to log every discrepancy between the screen and the shelf, and one end-to-end pass to find the friction before someone else does. Open beta — where anyone can sign up — is a later number, and a lower one.

As of 20 Sept 2026

Iteration log

  1. 18 Sept 2026
    v1.77.3 — matching precision: category denylists and hard-aisle gates
  2. 16 Sept 2026
    v1.77.1 — unit truth: mass and volume by density, counts by seeded unit weight
  3. 14 Sept 2026
    web app — kitchen pantry: what you already own leaves the basket
  4. 14 Sept 2026
    web app — PostHog EU activation funnel, Sentry EU, in-app beta feedback
  5. 11 Sept 2026
    v1.76.0 — Aldi collector: a sixth UK chain in the catalogue
  6. 7 Sept 2026
    web app — the week as one canvas with a single adaptive next step
  7. 6 Sept 2026
    web app — accounts and a shared meal Library: browse, search, save, share
  8. 5 Sept 2026
    v1.74.0 — meals leave the server; the app owns its own meal library
  9. 10 Aug 2026
    v1.73.0 — per-store sweep observability: what the staleness gate excludes, and why
  10. 8 Aug 2026
    v1.71.0 — catalogue freshness: sweep generations; retrieval gated on the last clean sweep
  11. 27 Jul 2026
    v1.67.1 — catchweight pricing; standing basket-coverage regression gate
  12. 21 Jul 2026
    web app — opt-in weekly budget with a progress guardrail
  13. 13 Jul 2026
    v1.57.0 — units-to-buy (pack count) per basket line
  14. 10 Jul 2026
    v1.56.0 — household servings; stateless cheapest-basket API
  15. 5 Jul 2026
    web app — offline-durable shopping: service-worker app shell, persisted check-offs
  16. 21 Jun 2026
    v1.46.0 — deployed to Fly.io with managed Postgres
  17. 13 Jun 2026
    web app — weekly plan picker, grocery check-off, aisle-sorted in-store mode
  18. 11 Jun 2026
    v1.41.0 — basket reliability: ingest-time relevance guard; 100% single-store coverage across the 50-meal harness
  19. 25 May 2026
    v1.22.0 — Asda, Waitrose, Morrisons; basket pricing
  20. 10 May 2026
    v1.10.0 — Sainsbury's collector; Jaccard product clustering
  21. 29 Apr 2026
    v1.0.0 — ingredient taxonomy + scoring engine
  22. 21 Mar 2026
    prototype — Tesco + PostgreSQL end-to-end pipeline

See all products →