Inspiration
Recording voice notes is a natural way to capture ideas on the go, but turning them into polished text is a pain. You have to listen through filler words, false starts, and awkward pauses. I wanted to build a tool that automates this entire process—one click, and your raw recording becomes a clean, copy-ready transcript.
What it does
Voice Note to Clean Transcript records audio directly in your browser (or lets you upload files) and automatically transcribes and cleans the text. It removes filler words like "um" and "uh," eliminates false starts, and smooths out the rough edges—all while preserving the meaning and flow of what you actually said.
How we built it
- Backend: FastAPI with Python, orchestrating two AI services—AssemblyAI for transcription and OpenRouter for intelligent text cleanup
- Frontend: React + TypeScript with Vite, featuring browser-based audio recording using the Web Audio API
- Deployment: Docker Compose for containerization, so it runs locally without dependency issues
- APIs: AssemblyAI handles speech-to-text, OpenRouter manages text refinement through language models
Challenges I ran into
- Coordinating the flow between transcription and cleanup APIs reliably
- Handling edge cases (very short audio, API timeouts, poor audio quality)
- Designing a UX that feels fast and responsive even when waiting for API responses
Accomplishments that I'm proud of
- A seamless end-to-end workflow that actually works
- Clean, maintainable code with proper separation of frontend and backend concerns
- Docker setup that lets anyone run it locally with a single command
- Thoughtful error handling and user feedback throughout the app
What I learned
- How to integrate multiple external APIs in a coordinated way
- Building real-time audio features in the browser
- Docker best practices for multi-service applications
- The importance of clear communication between frontend and backend when latency matters
What's next for Voice Note to Clean Transcript
- Add batch processing for multiple files at once
- Export options (Markdown, Google Docs, Word)
- Speaker identification and diarization
- Custom cleanup rules (preserve certain terms, add punctuation preferences)
- Mobile app version for iOS/Android
- Offline transcription option for privacy-conscious users
Built With
- assemblyai
- docker
- fastapi
- node.js
- openrouter
- python
- react
- typescript
- vite
- web-audio-api
Log in or sign up for Devpost to join the conversation.