// the find
xdagiz/xytz
A Beautiful YouTube Downloader/Player TUI
xytz is a terminal UI for searching, browsing, and downloading videos from YouTube and other yt-dlp-supported sites. It wraps yt-dlp and ffmpeg with a Bubble Tea interface, adding queue management, thumbnail preview, search history, and channel/playlist browsing. The target user is someone who lives in the terminal and finds a browser too heavy just to grab a video.
The feature set is genuinely complete for a yt-dlp wrapper: batch downloads, pause/resume, a 'save for later' queue, cookie authentication, and runtime theme switching are all there without feeling bolted-on. Package distribution is solid — Homebrew tap, AUR bin package, Scoop bucket, Nix flake, and a goreleaser pipeline, which means most people can install it in one command. The codebase is structured cleanly with `internal/` packages separating TUI models, config, utils, and types, and there are actual tests across most of those packages including an integration test for downloads. Nix flake with a proper dev shell (`nix develop` gives you Go, gopls, yt-dlp, ffmpeg, mpv) is a nice touch for contributors.
The whole thing is a thin shell around yt-dlp: if yt-dlp breaks or changes its JSON output format, xytz breaks too, and you're now debugging two layers. Thumbnail preview in a terminal is a kitty/iTerm2 protocol feature — on most terminals it either silently fails or renders garbage, and the README doesn't mention this constraint at all. With 519 stars and 28 forks, the contributor base looks thin and one person quitting would likely stall the project. There's no offline mode or local library management — once you've downloaded something, xytz has no memory of it.