DEV Community

RAGUL S
RAGUL S

Posted on

Grandpa's Ledger (Voice-to-Recipe Archiver)

Hacktoberfest Weekend Challenge: Build for a Friend Submission 🤝

What I Built
I built Grandpa's Ledger, an offline audio processing workstation designed for my grandfather. He has cooked regional family dishes for decades without written recipes, relying entirely on intuition, memory, and spoken stories.

Commercial cooking apps expect precise grams and milliliters, while my grandfather speaks in conversational dialect and qualitative steps (e.g., "a fistful of crushed mustard seeds until it pops"). Grandpa's Ledger lets him record raw voice memos at his own pace. The application transcribes his audio locally, extracts the implicit culinary workflow, and converts oral storytelling into structured, printable family recipe cards with estimated culinary ratios.

Demo
Live Demo / Screen Recording Link

Code
github.com/AWT-SRIRAM/SRM_TAMIL_SUB

How I Built It
The application runs as a fully local pipeline orchestrated with Python and Streamlit:

Audio Ingestion & Transcription: Whisper.cpp (quantized medium.en model) executes directly on CPU using SIMD vector instructions, allowing reliable offline speech-to-text without dropped frames.

Structuring & Semantic Parsing: The raw transcription is dispatched via Ollama running Llama 3.1 (8B-Instruct, 4-bit GGUF).

Structured Output Enforcement: Using Instructor and Pydantic, the open-weight LLM is constrained to output strict JSON schemas containing ingredient arrays, estimated quantities, and chronological preparation steps.

Storage: Extracted recipes are saved locally into Markdown files organized into an Obsidian-compatible vault.

Why Does Open Innovation Matter?
Data Sovereignty & Privacy: Family oral history, informal voice notes, and private memories remain strictly on the local machine rather than being fed into cloud training pipelines or stored on third-party servers.

Zero Operational Cost: Relying on commercial multi-modal APIs for long-form audio transcripts quickly accumulates recurring billing costs. Open weights run indefinitely at zero marginal inference cost.

Deterministic Structured Extraction: Open-source harnesses allow tight steering via constrained grammar sampling (such as llama.cpp GBNF grammars), eliminating JSON formatting failures that frequently occur with closed APIs.

Prize Categories
Open Source AI / Local Inference

Top comments (0)