DEV Community

Kumar Saurav
Kumar Saurav

Posted on

I built a platform for my grandma (and others) so that they can upload their voice notes for a recipe and get a structured recipe

ScreenshotThis is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend

What I Built

I built the Grandma Recipes web application to organize my family history. This software converts spoken voice recordings into structured Markdown documents. I designed this project specifically for my mother. She wants to record and preserve her old family recipes. She speaks the instructions directly into her phone. The application processes the audio and creates a clean text file. My mother no longer loses her scattered audio notes.

Demo

You can view the live application through the provided link. The visual interface uses a neo-brutalism design style. It features bold borders and bright yellow accents.
Link

Code

GitHub logo Saurav10codes / grandma-recipes

Made for HacktoberFest Challenge 1

Grandma Recipes 🍲

Speak a recipe β†’ get it transcribed and formatted as Markdown. Runs 100% locally.

Stack

  • Whisper tiny (faster-whisper, CPU int8) β€” auto-downloads on first run (~75 MB)

  • Ollama locally for full offline mode

  • FastAPI backend

  • React + Vite frontend (neo-brutalism UI)

Prerequisites

  • Python 3.9+

  • Node.js 18+

  • FFmpeg: sudo apt install ffmpeg

For local mode (no API calls):

  • Ollama installed and running (ollama serve)

Run Locally

Backend

# Make sure Ollama is running: ollama serve

cd  backend

pip  install  -r  requirements.txt

uvicorn  main:app  --reload
Enter fullscreen mode Exit fullscreen mode

Frontend

cd  frontend

npm  install

npm  run  dev
Enter fullscreen mode Exit fullscreen mode

Open http://localhost:5173

Features

  • πŸŽ™ Live recording β€” click Record, speak, click Stop

  • πŸ“ File upload β€” drag & drop or select audio files

  • πŸ“ Auto-formatting β€” converts speech to structured Markdown recipes

  • 🎨 Neo-brutalism UI β€” bold, minimalist design

  • πŸš€ 100% local (optional) β€” no data leaves your machine

How it works

  1. Record…

How I Built It

The frontend architecture uses React and Vite. The backend relies on FastAPI written in Python. I chose the Whisper tiny model for audio transcription. This specific model runs locally on the server CPU. The application converts the browser audio files using ffmpeg. A large language model formats the resulting text into a recipe. I created two different modes for the backend system. One mode connects to the Groq API on a free tier. The alternative mode runs the Ollama software locally. This local mode powers the qwen2.5:1.5b open-weight model.

Why Does Open Innovation Matter?

Open innovation directly protects user privacy. Voice recordings represent deeply personal family data. A closed API sends this sensitive information to unknown corporate servers. My application transcribes the audio locally using open-weight models. Users keep total control of their private family memories. Open models perform exceptionally well on cheap hardware. The Whisper tiny model requires very little system memory. This tiny footprint makes the tool entirely free to host.

Prize Categories

I am entering the Best Use of Render prize category. I deployed the entire application using Render free tiers. The React frontend runs smoothly on a static site. The FastAPI backend operates inside a Docker web service.

Top comments (0)