Case study
Web Application
YT-Downloader
Full-stack tool for streaming binary media data through an Express API. Wraps yt-dlp to handle format conversion and quality selection, with zero server-side storage and direct browser streaming.

The problem
Wanted to understand how binary data streaming works in a full-stack context — specifically how a backend can pipe a media stream directly to a browser download without buffering the full file in memory.
The solution
Wrapped yt-dlp in a Node.js/Express API that pipes the output stream directly to the HTTP response. Users select format and quality on the React frontend; the backend handles extraction and format conversion in a single pass.
Outcome
Handles 1080p, 720p, 480p video and MP3 audio extraction. Zero data stored server-side. Download times average under 10 seconds for standard-length videos. Hosted on Render.
What I learned
Render free tier cold-start delays required a health-check ping on page load. Concurrent download requests can saturate a single-process Node server — would implement a Bull/Redis job queue for production-scale concurrency.
Stack
- React
- Node.js
- Express
- yt-dlp
- Material-UI