Channel-surf YouTube like it's TV.
LoopTV groups public YouTube channels into topic stations and plays random clips nonstop — no account, no API keys, no algorithm deciding what's next. 16 stations, 122 channels, 8,760 videos in the catalog today.
Why LoopTV
Stations, not a feed
16 hand-built stations grouping 122 YouTube channels by topic — science, comedy, tech, talks, and more. Pick one and it plays.
Random, nonstop playback
No autoplay rabbit hole, no recommendation algorithm. Clips shuffle within the station you chose, like flipping to a channel and leaving it on.
Yours, on your device
Watched history, blocked sources, and your Smart Mix profile all live in your browser's localStorage. No account, nothing leaves your device.
How it works
- 1
Build the catalog
A weekly GitHub Action runs yt-dlp against each channel and merges new videos into a static catalog file. No YouTube API key needed.
- 2
Tag with NER
HuggingFace NER (dslim/bert-base-NER) runs over untagged entries so videos pick up topic chips automatically.
- 3
Press play
The frontend is a static Astro site with React islands. Videos play through the public YouTube IFrame player — blocked embeds are skipped automatically.
Tips
→orn— next video./— search across the catalog.- /random — bounces to a random station.
Add your own station
Fork the repo, append a station to stations.json, run pnpm run build:catalog (requires yt-dlp), and deploy. That's it.
Ready to leave something good on in the background?
Open LoopTV