CookTrace is a self-hosted app for keeping your recipes, pantry, cook diary, and shopping list in one place, without handing your data to anyone.

Single Docker container, AGPL-3.0, no telemetry, no cloud sync, no subscriptions. Third app in the Trace family, alongside NutriTrace (nutrition) and LiftTrace (lifting).

Repo: github.com/TraceApps/cooktrace Release: github.com/TraceApps/cooktrace/…/v1.0.0-rc.1 Docker (amd64 + arm64): ghcr.io/traceapps/cooktrace:latest

What it does

  • Recipes with photos, ratings, ingredient groups, step-by-step (with per-step photos), live scaling, FDA-style Nutrition Facts box, and a Cook Mode that keeps the screen on
  • Pantry with barcode scanning, Open Food Facts + USDA lookup, and an “8 / 10 in pantry” match pill on every recipe card
  • Cook Diary + Meal Planner — list and month-calendar views, plan future cooks, one-tap mark as cooked, full cook history per recipe
  • Shopping list that pulls missing ingredients from a recipe and skips anything you already have in pantry
  • Importers for any recipe URL (three engines: schema.org, recipe-scrapers, AI), plus Mealie / Tandoor / Paprika exports
  • Trace AI assistant — bring your own Claude / OpenAI / Gemini key, or point at a local Ollama / LM Studio / LocalAI. Reads and writes your real data via tool use; hold-to-record voice for hands-free logging
  • NutriTrace federation — pull foods from your NT instance, log cooked recipes back to its diary
  • Android app — runs standalone (fully offline) or connected to the server, with differential sync, biometric sign-in, and native barcode scanning

First public release — bugs expected

It’s been stable in solo testing for months, but real-world deployments find things one person never will. Bug reports (Settings → Diagnostics → View Logs → Share attaches everything I need), feature requests, importer-failure URLs, and translations are all genuinely wanted: github.com/TraceApps/cooktrace/issues