youtube-dl if you've not heard of it, is a great downloader for youtube (and a lot of other sites.)
The application has an awesome CLI, but a GUI could have things like:
- Pause/Resume
- Skip already downloaded files (-w)
- Add all links from a playlist individually, so you can control their downloads individually.
- Move downloads to folders based on categories/channels (I think this can already be done via output paths.)
Our GUI based app could be multi-threaded. (Async downloads?)