Hey HN,
I built an open source tool to transcribe Instagram Reels using OpenAI's Whisper model.
GitHub: https://github.com/stym06/reelstudio
How it works:
- Paste a Reel URL → Worker downloads via yt-dlp → Whisper transcribes → Get shareable transcript page
Tech stack:
- Next.js 14 frontend
- Go worker (polls PostgreSQL for jobs)
- faster-whisper for transcription
- No login required
The architecture is simple: the frontend creates a task in PostgreSQL, a Go worker polls for pending tasks, downloads the video, runs Whisper, and saves the transcript. The
frontend polls until complete and redirects to the transcript page.
I built this because I wanted to repurpose Reel content into blog posts and needed accurate transcripts with timestamps. Existing tools either required accounts, had watermarks, or
were expensive.
Self-hosting is straightforward - just need PostgreSQL, the Next.js server, and the Go worker with Python/Whisper installed.
Would love feedback on the architecture or any feature suggestions. The worker is designed to be horizontally scalable if anyone wants to add Redis/queue support.