Tired of YouTube's cluttered interface? I created LiuTube - a clean, ad-free desktop YouTube client with downloads, history, and zero distractions.
Why I Built This (And Why You Might Want It)
Let's be real - YouTube's web interface is... a lot. Sidebars, suggested videos everywhere, ads, comments sections that somehow always turn toxic, and a million other elements you probably don't need when you just want to watch a video.
I got fed up with all the noise, so I built LiuTube - a frameless desktop YouTube client that strips away everything except what actually matters: the videos.
What Makes This Different
๐ฏ Zero Clutter, Maximum Focus
- No ads (obviously)
- No distracting sidebars
- No comment chaos
- Just you, the video, and trending content when you want it
๐ฑ Smart Playback System
The coolest feature? When YouTube's embedded player throws a tantrum (you know, those "Video unavailable" messages), there's a floating "Direct" button that switches to direct video streaming. Works like magic for age-restricted or region-blocked content.
๐ฅ Download Everything
Want to save a video? Hit download and it tries multiple methods until something works. Perfect for that coding tutorial you'll definitely watch later (we both know you won't, but at least you'll have it).
๐ Your History, Your Way
Everything you watch gets saved locally in localStorage - no cloud, no tracking, just a clean history you can search through. It even tracks how many times you've rewatched that same React tutorial (no judgment here).
The Technical Stuff (For Fellow Devs)
Built with Electron because desktop apps just hit different:
- youtubei.js for YouTube API magic
- @distube/ytdl-core for download capabilities
- Good old HTML/CSS/JS for the frontend
- Cross-platform builds (Windows, Mac, Linux)
The architecture is pretty straightforward:
main.js โ Electron main process
renderer.js โ Frontend logic + history management
preload.js โ Secure bridge between main/renderer
index.html โ Clean, minimal UI
Want to Try It?
Option 1: Grab the Binary
Head to the /dist
folder in the repo and download:
-
Windows:
LiuTube Setup 2.0.2.exe
-
Mac:
LiuTube-2.0.2.dmg
-
Linux:
LiuTube-2.0.2.AppImage
Option 2: Build from Source
git clone git@github.com:liu-purnomo/liutube.git
cd liutube
npm install
npm start
Contributing (Yes, Please!)
This started as a personal itch-scratch project, but I'd love to see where the community can take it. Some ideas I'm thinking about:
- Playlists: Local playlist management
- Keyboard shortcuts: More vim-like navigation
- Themes: Light mode for the brave souls
- Better search: More advanced filtering
- Mini player: PiP-style floating window
Found a bug? Have a feature idea? PRs are welcome! The codebase is pretty clean and well-documented (if I do say so myself).
What's Next?
I'm actively working on this because, honestly, I use it daily. Current roadmap includes:
- Better error handling for edge cases
- Performance optimizations
- More download format options
- Maybe a mobile companion app?
GitHub: liu-purnomo/liutube
Current Version: 2.0.2
Sometimes the best solution is the simplest one. No fancy algorithms, no complex architectures - just a clean interface that does exactly what you need. Try it out and let me know what you think!
Top comments (1)
Thank you for shipping this! The โDirectโ fallback for age/region-blocked videos is genius, the multi-method download retries are super practical, and the local, searchable history (no cloud!) is a real privacy win. I also appreciate the clean Electron split (main/renderer/preload) and ready-to-go cross-platform buildsโmakes trying and contributing painless.