My friends who stream needed a way to download their older YouTube videos for archival purposes. The existing converter websites were unreliable, riddled with ads, and often redirected to inappropriate sites. There had to be a better, cleaner solution.
I built a full-stack converter that prioritizes reliability and user experience:
- Real-Time Progress Tracking: Implemented Server-Sent Events to stream live download progress, showing percentage complete, speed, and estimated time remaining.
- Flexible Quality Options: Support for multiple video resolutions (1080p, 720p, etc.) and audio bitrates (96-320 kbps) with smart quality selection.
- Web Interface: Built a clean Angular frontend with intuitive controls and live progress visualization for easy browser-based downloads.
- CLI Tool: Created a command-line version for power users and automation, with the same features and quality options as the web app.
- Reliable Backend: Python FastAPI backend using yt-dlp for stable, efficient video processing with proper error handling.