--- title: Audio to Notes emoji: ๐ŸŽ™๏ธ colorFrom: blue colorTo: green sdk: gradio sdk_version: 5.38.2 app_file: app.py pinned: false short_description: Audio โ†’ transcript, summary & action items ยท #7 --- # Audio โ†’ Notes ๐ŸŽ™๏ธ Upload a recording or record from the mic โ†’ get a **timestamped transcript** (`[mm:ss]` per line, so every quote is citable by the minute), a short **summary**, and a list of **action items** (task ยท owner ยท due). > Project **#7** of my *"30 AI Projects in 15 Days"* build-in-public challenge. **โ–ถ Live demo: https://notes.gritai.solutions** ![demo](demo.png) ## How it works - **Transcribe** with **faster-whisper** (`base`, int8) on **CPU** โ€” reliable and quick for short clips, no GPU/CUDA libraries required. - **Summarize** with one **Claude** call using **forced tool-use**, so the summary + action items come back as schema-valid JSON every time (no brittle parsing). - **Two-stage pipeline:** transcription โ†’ summarization, each a clean step. ## Two tiers - **Free (this demo)** โ€” short clips โ†’ transcript + summary + action items. - **GritAI Studio (Pro)** โ€” long meetings, **speaker attribution** (quotable by minute *and* speaker), a searchable/quotable archive, and auto-generated briefing docs. Join the waitlist in the app. ## Run locally ```bash pip install -r requirements.txt export ANTHROPIC_API_KEY=sk-ant-... # for the summary + action items python app.py # http://127.0.0.1:7860 ``` ## Deploy (Hugging Face Space) 1. Create a **Gradio** Space โ€” **CPU basic** hardware is enough (no GPU needed). 2. Add secret **`ANTHROPIC_API_KEY`** for the summary + action items. 3. Push these files; point **notes.gritai.solutions** at the Space (CNAME โ†’ `hf.space`, DNS-only). --- Built by **Robert Lucyk** ยท [GritAI Solutions](https://gritai.solutions) ยท part of the 30-in-15 challenge.