# Building a web GUI for yt-dlp

I've been working on youtube downloader bot for a while and wanted to share what I learned.

## The problem

Download videos and audio from YouTube and other platforms in any format or quality. Includes batch download, playlist support, and a simple web UI for managing your download queue.

## What I built

Here are the main features I ended up shipping:

- Video and audio download in all quality levels
- Batch download and full playlist support
- Format conversion (MP4, MP3, WAV, WEBM)
- Simple web UI for queue management
- Metadata extraction and thumbnail saving

## Code sample

```python
# Basic structure
class Bot:
    def __init__(self, config):
        self.config = config

    def run(self):
        while True:
            self.scan()
            self.execute()
```

If you want the full working version with all the battle-tested edge cases
handled, I packaged it here: [YouTube Downloader Bot](https://lukegraggster.gumroad.com/l/youtube-downloader)

Happy to answer questions about the architecture in the comments.

