cd /news/ai-tools/i-turned-my-mother-in-law-s-voice-me… · home › topics › ai-tools › article
[ARTICLE · art-144760] src=dev.to ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

I turned my mother-in-law's voice memos into a recipe book — 100% local open-source AI

A developer built voice-recipe-book, an open-source pipeline that transcribes voice memos with faster-whisper and structures them into Markdown recipe cards using Qwen2.5-3B-Instruct, all running locally on CPU with no cloud or API keys. The roughly 150 lines of Python code produced a complete recipe card from a 40-second French memo, though regional dish names like Gromperekichelcher were mistranscribed, so the app accepts an explicit title override.

by read2 min views1 publishedOct 4, 2026

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend.

Odilia is my mother-in-law, and her cooking lives in voice memos. Decades of family recipes — including her Luxembourgish Gromperekichelcher (crispy potato fritters) — exist only as rambling WhatsApp audios she sends when one of us asks "how do you make that again?". Nobody ever scrolls back to find them, and nobody writes them down.

So this weekend I built her voice-recipe-book: drop a voice memo in, get a clean recipe card out. One real person, one real problem.

voice memo (.mp3/.m4a/.wav)
   │
   ├─ transcribe.py        faster-whisper (open-weight Whisper, int8 CPU) → raw text
   └─ structure_recipe.py  Qwen2.5-3B-Instruct (open-weight LLM, local CPU) → Markdown card
                              title · servings/times · ingredients · steps · "the secret"

Everything runs locally. No cloud, no API key, €0 per recipe.

👉 Repo: https://github.com/jeffreyturov-dev/voice-recipe-book

The demo memo is TTS-synthesized because I won't publish a real family recording — the pipeline is identical either way. Whisper (small, CPU) transcribed the 40-second French memo at confidence 1.00. One honest failure: Gromperekichelcher came out as "grands-pèreux qui chèrent" — regional dish names are exactly the words a speech model has never seen, so the app accepts an explicit title (a feature, not a bug).

Then Qwen2.5-3B-Instruct, running on the same CPU, structured the raw transcript — hesitations and all — into this card (actual output, unedited except the title):

**Portions :** 8 | **Préparation :** 30 min | **Cuisson :** 15 min

## Ingrédients
- 1 kg de pommes de terre farineuses
- 1 oignon
- 2 œufs
- 2 cuillères à soupe de farine
- Sel, poivre, noix de muscade
- Persil haché (non précisé)

## Étapes
1. Râpez les pommes de terre farineuses et essorez-les bien dans un torchon.
2. Mélangez avec l'oignon râpé, les œufs, la farine, le sel, le poivre et la muscade.
3. Chauffez de l'huile dans une poêle à feu moyen.
4. Formez des galettes et aplatissez-les.
5. Faites frire 3 à 4 minutes de chaque côté jusqu'à ce qu'elles soient croustillantes.
6. Servez chaud avec une compote de pommes.

## Le secret
> Essorer bien les pommes de terre pour éviter qu'elles détrempe.

It even extracted "the secret" — squeeze the potatoes dry — the one line of grandma-wisdom that makes the dish.

The stack: Whisper (MIT, via faster-whisper/CTranslate2) + Qwen2.5-3B-Instruct (Apache 2.0) on plain CPU. Total new code: ~150 lines of Python, written this weekend — the open models do the heavy lifting.

git clone https://github.com/jeffreyturov-dev/voice-recipe-book
cd voice-recipe-book && pip install -r requirements.txt
python3 app.py memo.m4a "Grandma's apple pie"

Next for Odilia: a weekly cron that pulls her memos and prints the growing book for Christmas. She doesn't need to know what an LLM is. She just needs her recipes to outlive the chat history.

── more in #ai-tools 4 stories · sorted by recency
── more on @whisper 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/i-turned-my-mother-i…] indexed:0 read:2min 2026-10-04 · —