How it's built
- This demo
- Fully client-side: ~60 foods + 4 recipes bundled at build time, fuzzy ingredient matching in the browser.
- Full version
- FastAPI + DuckDB over 23,000+ foods from Fineli (FI) and Open Food Facts, with Finnish/English ingredient parsing.
- Data plane
- The full database runs on my own hardware, reached through an EC2 → Tailscale bridge — same pattern as the gear manager.
- Why it matters
- The public demo stays up even when the private backend is offline: the integration boundary is explicit.