AI-Powered Podcast Conversations β Download any YouTube podcast, transcribe it with AI, and have intelligent conversations about the content.
| Feature | Description |
|---|---|
| YouTube Download | Paste any YouTube URL with live video preview |
| One-Click Transcribe | Single "Transcribe Video" button downloads and transcribes automatically |
| Progress Tracking | Beautiful animated progress bar showing download and transcription status |
| Intelligent Chat | Ask questions and get contextual answers from podcast content |
| 20+ AI Features | Summary, flashcards, Q&A, notes, insights, and more β all powered by Ollama |
| History Management | Save and revisit your transcribed podcasts with History tab |
| Dark/Light Mode | Toggle between dark and light themes with persistent preference |
| User Authentication | Secure email-based login with per-user history |
| Multi-language | English, Spanish, French, German, Hindi, Portuguese, Italian |
| Smart Chunking | Dynamic audio chunking based on video length for optimal processing |
- macOS 10.15+, Windows 10/11, or Linux (Ubuntu 20.04+)
- Python 3.10+
- FFmpeg (auto-installed on macOS, manual on Windows/Linux)
- Ollama (auto-installed on macOS, manual on Windows/Linux)
# Clone the repository
git clone https://github.com/ShivashishY/Podcast_Chat.git
cd podcast-chat
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Edit .env and add your SMALLEST_API_KEY- Go to smallest.ai and create an account
- Navigate to API Keys section
- Create a new key and add it to your
.envfile:SMALLEST_API_KEY=sk_your_api_key_here
python app.pyOpen http://localhost:5000 in your browser.
| Platform | Launcher | How to Run |
|---|---|---|
| macOS | Start Podcast Chat.command |
Double-click the file |
| Windows | Start Podcast Chat.bat |
Double-click the file |
| Linux | start-linux.sh |
Run ./start-linux.sh in terminal |
The launchers automatically:
- Install dependencies if missing
- Create virtual environment
- Download Ollama model (first run)
- Start the application
Paste a YouTube URL β a live video preview appears instantly
Click Transcribe Video β the progress bar shows download (0-50%) and transcription (50-100%)
Ask any question about the podcast content, or use one of the 20+ AI features!
Example Questions:
- "What was the main topic discussed?"
- "Summarize this podcast in 3 bullet points"
- "What did the guest say about [topic]?"
- "When did they talk about [subject]?"
After transcription, access the AI Features panel with collapsible categories:
| Category | Features |
|---|---|
| Popular | Summary, Key Insights, Clean Transcript, Proper Notes |
| Basic Content | Micro Summary, Short Summary, Bullet Points, Notable Quotes |
| Analysis | Extract Ideas, Extract Insights, Extract Patterns, Extract Wisdom |
| Study & Education | Flashcards, Concept Map, Q&A, Outline Notes, Cornell Notes, Rapid Logging, T-Note Method, Charting Method, QEC Method, Q&A Split Page |
| Variable | Required | Default | Description |
|---|---|---|---|
SMALLEST_API_KEY |
β Yes | - | API key from smallest.ai |
FLASK_DEBUG |
No | false |
Enable debug mode |
PORT |
No | 5000 |
Server port |
OLLAMA_URL |
No | localhost:11434 |
Ollama server URL |
OLLAMA_MODEL |
No | llama3.2 |
LLM model to use |
The app handles any length video by:
- Compressing audio to mono 16kHz for efficient processing
- Splitting into 60-second chunks to stay under API limits
- Seamlessly stitching transcripts with accurate timestamps
podcast_chat/
βββ app.py # Main Flask application
βββ auth.py # Authentication module
βββ models.py # Database models
βββ templates/ # HTML templates
β βββ index.html # Main app interface
β βββ login.html # Login page
β βββ signup.html # Signup page
βββ downloads/ # Downloaded audio (gitignored)
βββ transcripts/ # Saved transcripts (gitignored)
βββ docs/ # Documentation
βββ requirements.txt # Python dependencies
βββ .env.example # Environment template
βββ setup.sh # Setup script (macOS/Linux)
βββ start.sh # Start script (macOS/Linux)
βββ start-linux.sh # One-click launcher (Linux)
βββ Start Podcast Chat.command # One-click launcher (macOS)
βββ Start Podcast Chat.bat # One-click launcher (Windows)
Modern two-column layout with dark/light mode support:
| Element | Dark Mode | Light Mode |
|---|---|---|
| Primary Accent | #2B9D90 (Teal) |
#2B9D90 (Teal) |
| Background | #0d0d0d |
#f5f5f5 |
| Cards | #161616 |
#ffffff |
| Text | #e4e4e7 |
#1f1f1f |
UI Highlights:
- Dark/Light mode toggle with persistent preference
- YouTube video preview in left column
- Animated progress bar with step indicators
- Collapsible AI feature categories
- History tab for past transcriptions, which can be reused without processing again
- Chat + AI features in right column
- β Password hashing with Werkzeug
- β Session management via Flask-Login
- β Auto-generated secret key (no manual configuration)
- β Per-user data isolation
- β CSRF protection
- β SQLite database for user storage
"Cannot connect to Ollama"
# Start Ollama manually
ollama serve"AI Model Not Found"
# Pull the required model
ollama pull llama3.2"Transcription Failed"
- Verify your Smallest AI API key in
.env - Check your internet connection
- Long podcasts (>1hr) may take several minutes
"App Won't Start"
# Re-run setup
./setup.sh
# Or manually install dependencies
pip install -r requirements.txt| Requirement | macOS | Windows | Linux |
|---|---|---|---|
| OS Version | 10.15+ | 10/11 | Ubuntu 20.04+ |
| Python | 3.10+ | 3.10+ | 3.10+ |
| RAM | 4GB (8GB recommended) | 4GB (8GB recommended) | 4GB (8GB recommended) |
| Storage | 5GB | 5GB | 5GB |
| FFmpeg | Auto-installed | Manual install | apt install ffmpeg |
| Ollama | Auto-installed | Manual install | curl -fsSL https://ollama.ai/install.sh | sh |
Contributions are welcome! Please read our Contributing Guide for details on:
- Setting up the development environment
- Code style guidelines
- Submitting pull requests
This project is licensed under the MIT License - see the LICENSE file for details.
- Smallest AI β Pulse STT for transcription (displayed as "Powered by Smallest AI" badge)
- Ollama β Local AI inference for chat & 20+ AI features
- yt-dlp β YouTube downloads
- Flask β Web framework
Made with β€οΈ for podcast lovers
Report Bug
Β·
Request Feature

