So I built Zest to scratch my own itch. The philosophy is: We don't save recipes. We save the memories around the table.
It’s designed to be absurdly lightweight and easy to deploy on a Proxmox LXC or a Raspberry Pi.
The stack:
Backend: FastAPI + SQLite (Everything runs inside one single container, no external DB).
Frontend: Vanilla JS (ES Modules) + HTML + Tailwind. No Node.js, no Webpack, zero build steps.
Infrastructure: Local volumes for persistence.
Key features:
Memories: A food diary. Link photos, dates, and locations to recipes.
Local EXIF parsing: Pure JS local parsing for photo metadata + OpenStreetMap reverse geocoding.
Smart Cooking Mode: Fullscreen step-by-step with auto-detected timers via regex and Wake Lock API so your screen doesn't sleep.
Public sharing: Generate secure URLs or export beautiful Moment Cards (via Pillow) to share with family without them needing an account.
Live demo (resets every 6h, seeded with examples): https://demo.myzest.app
I've successfully migrated my 814 recipes and it runs incredibly fast. I'd love to hear your feedback on the code architecture and the "no build tools" approach.