Case Study · Utility Web App
YouTube Downloader
A focused utility for resolving and fetching media.
- Node.js
- Express.js
- JavaScript
- REST APIs
What it is
A single-purpose web application: paste a link, get the available media formats, download. The server resolves the source and streams the selected format back, keeping the client deliberately minimal.
The objective
Media resolution has to happen server-side, and large responses should not be buffered fully in memory.
- Media resolution has to happen server-side; the browser cannot do it alone.
- Large responses should not be buffered fully in memory.
How it was solved
Resolution is handled in an Express endpoint that returns only what the UI needs, and the selected format is streamed through the response instead of buffered.
- Handled resolution in an Express endpoint and returned only what the UI needs.
- Streamed the selected format through the response instead of buffering it.
Key features
Format resolution
A server endpoint resolves the source and returns available formats.
Streamed downloads
The selected format streams through the response, not into memory.
Single-screen UI
One input, one list of formats, one action.
Technology
Frontend
- JavaScript
- HTML
- CSS
Backend
- Node.js
- Express.js
Other
- REST API
- Response streaming
Development approach
- Resolution handled in an Express endpoint returning only what the UI needs.
- Selected format streamed through the response instead of buffered.
- Client kept deliberately minimal — no state beyond the current request.
Interface decisions
- Deliberately small surface area — one job, done directly.
- Format options presented plainly with size and type.
Challenges & solutions
Large files exhausted server memory when buffered.
Switched to streaming the response, keeping memory usage flat.
