This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
What I Built
Some of the best cooks in our families never write anything down. The recipes live in their heads, and the only trace is a rambling voice note that says things like "add salt until it feels right." When that person is gone, or just busy, the recipe goes with them.
Recipe Keeper is a small tool I built for a family member who cooks entirely from memory. You upload a voice note of them talking through a dish. The app transcribes it, then a local language model turns the transcript into a clean recipe card with ingredients, steps, and tips. Saved cards are collected into a printable family recipe book.
The goal was simple: let them keep cooking the way they always have, and let the rest of us finally hold on to the food.
Demo
The flow has three steps:
- Upload a voice note, for example someone explaining how they make a dish.
- Review the transcript and the generated recipe card side by side, and fix anything the model got wrong.
- Save the card. All saved recipes are combined into one recipe book you can print.
How I Built It
Everything runs on a single laptop, with no cloud services and no API keys:
-
Speech-to-text: Whisper, run through
faster-whisper. It supports many languages, which matters because spoken recipes often mix languages. - Structuring: an open-weight Gemma model served locally with Ollama. I prompt it to return strict JSON with a title, ingredients, steps, and tips, then validate the JSON before showing it.
- Interface: a simple Streamlit app for upload, review, and editing.
- Output: an HTML recipe book generated from the saved recipes, which can be printed to PDF.
The trickiest design problem is that spoken recipes are vague ("a handful", "until it smells right"). The prompt tells the model to keep the speaker's own wording and never invent exact measurements, and the review step lets a human correct anything before it is saved.
Why Does Open Innovation Matter?
- Privacy: these are family voice recordings. With local models they never leave the laptop, and no company's server ever hears them.
- Cost: it costs nothing to run, so there is no API bill for something a family might use for years.
- Control: if transcription is weak for a particular accent or language, I can switch to a larger Whisper model or adjust the prompt. With a closed API, I would be stuck with whatever it gives me.
- Offline: it works in the kitchen, with no internet connection needed.
For something as personal as a family member's voice and recipes, keeping everything local made more sense than any cloud service could.
Top comments (1)
Excited to take part in this one! 🎉
I built Recipe Keeper for a family member who cooks entirely from memory. It turns their voice notes into clean recipe cards and a printable family recipe book.
It runs fully offline on a laptop, with Whisper for transcription and Gemma through Ollama to structure the recipes, so private family recordings never leave the device.
Would love to hear what everyone else is building for their friends and family! 🍲