AI-Generated Podcast Reviews of GitHub Repositories
Turn any GitHub repository into an entertaining, educational podcast with multiple host personalities, background music, sponsor breaks, and professional audio production.
RepoRadio analyzes GitHub repositories and generates natural-sounding podcast conversations between tech experts discussing the code, architecture, dependencies, and interesting technical details. Think "tech podcast meets code review."
๐๏ธ 8 Unique Host Personalities
- Alex (Hype Developer), Casey (Tech Enthusiast), Jordan (Pragmatic PM)
- Morgan (Cynical Senior), Quinn (Security Paranoid), Riley (Junior Optimistic)
- Sam (DevOps Wizard), Taylor (Open Source Purist)
๐ฌ Production Studio Features (All enabled by default)
- ๐ต Background lo-fi music with auto-ducking
- ๐บ Intro/outro jingles
- ๐ข Humorous sponsor ads based on project dependencies
- ๐๏ธ Crossfade transitions between speakers
- ๐ Professional audio mixing
๐ค Intelligent Analysis
- Git archaeology (recent commits, top contributors)
- Dependency scanning (package.json, requirements.txt, etc.)
- Deep mode: AI-selected priority files for code review
- Daytona sandbox for safe repo cloning
๐ Voice Options
- Local: Kokoro ONNX (fast, private, free)
- Cloud: ElevenLabs (premium quality)
-
Clone and install ```bash git clone cd hacka python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt ```
-
Set up Ollama ```bash ollama pull llama3.1:8b ```
-
Configure environment ```bash cp .env.example .env
```
- Run ```bash ./start.sh # or: streamlit run src/app.py ```
- Open http://localhost:8501
- Paste a GitHub URL
- Select 1-3 hosts from 8 personalities
- Click GENERATE VIBE
- Listen to your podcast! ๐ง
- Generate ONE line at a time (8-12 iterations)
- Pre-break: 4-6 lines introducing the project
- Ad break: 1 sponsor announcement (if enabled)
- Post-break: 4-6 lines diving into technical details
- 100% reliable - no more truncation issues
- Parallel TTS (4 workers, ~10s for 12 lines)
- Crossfade transitions (200ms)
- Sponsor ad transition sounds
- Background music overlay (-20dB)
- Intro/outro jingles
- Export to MP3
```bash PYTHONPATH=src:$PYTHONPATH pytest tests/ -v ```
All 15 unit tests passing โ
- PRODUCTION_STUDIO.md: Audio features guide
- DEBUG_LOGGING.md: Logging system
- src/music/README.md: Music folder organization
- Cloud LLM support (OpenAI/Anthropic)
- Export to YouTube/SoundCloud
- Multi-language support
- Voice cloning for custom characters
Contributions welcome! Areas: characters, ad templates, music, tests, performance.
MIT License
- Kokoro TTS: hexgrad/Kokoro-82M
- Daytona: Sandboxed dev environments
- Ollama: Local LLM inference
- Streamlit: Web UI
RepoRadio: Where code meets conversation ๐๏ธโจ