This 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
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
Frontend
cd frontend
npm install
npm run dev
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
-
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)