← All projects

STOUP

A pantry tracker that suggests what to cook with what you already have.

flutterfastapipostgres

STOUP started with two everyday frustrations: never knowing what to cook, and throwing out food that went bad before I used it. The grocery inventory apps I tried didn’t help much, so I started building my own.

It starts with pantry tracking, but the goal is to help people make something good with what’s already in the kitchen, and waste less food doing it. The loop it’s built around: pantry → inspiration → creation → sharing.

Where it is now

Early development. Working so far:

  • Barcode scanning, with product lookup from Open Food Facts
  • Manual entry for anything without a barcode
  • Quantities, units and expiration dates
  • User accounts and authenticated workflows
  • A containerized FastAPI back end on PostgreSQL, with Alembic migrations, health checks, and Caddy as a reverse proxy handling TLS

I built it as a complete application rather than a script: separate API, repository, schema, auth and database layers, with production and development environments kept apart.

Where it’s going

  • “What can I make?” suggestions from what’s on hand, including use-it-up ideas for things about to expire
  • Substitutions for incomplete ingredient lists
  • Optional meal planning and grocery lists
  • Sharing what you made, celebrating improvisation over recipe perfection

Stack

  • App: Flutter / Dart
  • API: Python, FastAPI, Alembic
  • Data: PostgreSQL
  • Deploy: Docker, Caddy