Looks like it's taking quite long...

◦ Click anywhere to close

YouTube Desktop Downloader

1 min read

Table of Contents

1. What is it?

What is it?

Desktop GUIs built with Electron.js seemed heavy on RAM and CPU so I wanted to try a lightweight alternative that had web standards built-in. Tauri offered a lighter WebView-based implementation so I decided to try it out by building a downloader for YouTube video/audio/playlists from YouTube and other supported sites.

  • The frontend is plain React with Mantine UI for the base component styles.
  • The backend process makes use of yt-dlp to do the heavy-lifting of downloading from YouTube. Using subprocesses, it forks multiple instances of yt-dlp to support concurrent downloads.
  • It saves download history, provides selection of format and resolution, and supports download cancellation.
  • There's also a system tray icon for fun.
  • One big flaw currently is that there is not auto-update mechanism for the yt-dlp binary so it stops working after a while if not updated.
Main view

Main view

Playlist info

Playlist info

Video info

Video info