So I made this to recreate Cable TV for YouTube. I made it so it runs in the browser. Quickly import your subscriptions in the browser via a bookmarklet. No accounts, no sign-ins. Just quickly import your data locally.
So I made this to recreate Cable TV for YouTube. I made it so it runs in the browser. Quickly import your subscriptions in the browser via a bookmarklet. No accounts, no sign-ins. Just quickly import your data locally.
I typically share your mindset, but I can see the appeal. There was something nice about the TV that just, ya know, already had something going when you turned it on. I spent many happy evenings in hazy basement rooms enjoying whatever Adult Swim decided was going to be on the TV that night.
I used to do that but the shows repeat and at the top of the hour or sometimes multiple times they repeat the same news over and over. I get someone else might be tuning in and not have heard the latest news
Maybe there's some middle ground where instead of a stream it's on demand but continuous. So I go to videostream.npr.com and since it knows it's a single user it can push the news once and then just be shows.
That said, youtube autoplay is the basic concept, it just sucks at what it recommends.
I guess this is basically how TV worked in the pre-streaming days - the new episode of whatever hot series aired during the prime time slot, and lesser slots were filled with reruns / resyndicated stuff.
I chalk it up to overwhelming choices. Sometimes I just want to watch something but don't want to go through dozens of options and having decision anxiety.
Bonus is sometimes I discover something I never thought I would have liked.
This is by far the biggest annoyance with modern TV for me. If I've already decided one something I want to watch, it's obviously great to just be able to navigate to it and put it on on my schedule, to pause it, have no ads, etc.
But sometimes, for better or worse, I just want to plunk down on the couch and turn my brain off, and if I'm in that mode the last thing I want to do is try to find something worth watching on my own steam.
Like, Youtube is great! Yeah, there's a ton of crap, but there's so much on there that would entertain me and be a guilt-free, even edifying use of me time. But having to choose something new every 10-20 minutes? Actively managing a queue while watching stuff? That's - pardon my French - for the birds.
This is, effectively, no different than a carousel of algorithm-recommended content. However, UX studies have found users reluctant to watch something recommended to them. It requires making an affirmative decision on time investment. Most people have the experience of a friend recommending a movie or book and still being reluctant to dive in.
The problem is very similar to dating apps, if you think about it. This is why Tinder's innovation on "swipe left/right" took off the way it did. In UX terms it's better to drop users into something and make the cognitive effort be choosing to get out of it rather than choosing to get into it. It's a big part of why TikTok works.
The reason this isn't more common in video apps has more to do with UX norms at this point. Another important thing I learned about streaming at Disney was that no one really cares how innovative the browsing experience is. They just want to watch Frozen. They're used to carousels now, and they're easy to program. This, I think, speaks more to your sensibilities.
Good: I choose to when and what to change the channel to. The channel never stops.
Bad: YouTube video ends and I'm prompted to do something every 5 to 15 mins and even autoplay chooses to show me content from another channel.
It might be better to just turn this on when I'm wanting to watch something than open YouTube and look at my homepage.
As it is, I can do that somewhat manually and it makes for a nice interface where I'm sure what the kids are watching.
Did it in ~300 lines of node.js, was trying to learn how to use JS for server stuff, seemed like a good idea at the time. It still works 5 years later, but it stands as a reminder to me to never use async/await.
What issues did you face with async/await?
Curation feels better with this implementation?
Though ultimately it was not that difficult of a habit to drop.
Does this avoid YouTube ads or pass them through? I somewhat wonder if this kind of thing is the reason that YouTube wants to progressively lock down their platform. (They don't want users avoiding their algorithms and their ads.)
Other than that, this totally fits the nostalgia of old school cable channel surfing!
Well done!
One thing I love(d) about live TV (or even live radio) was the community around knowing other people were watching the exact same thing I was watching (and then the watercooler chat around it afterwards).
If there was live chat attached to each of these "stations", it could spark some interesting chatter/community.
I know this already exists OOTB with YouTube Live, FB Live, etc.
But this would be for things that were simply uploaded, and now streamed live like you're doing here.
Obviously, that only works if there's enough viewership/participation.
I had wanted to use something that lets me set up an EPG with all of the YouTube channels I watch, to see their live streams in a TV guide and see their upcoming streams in a nice grid format. It's probably harder to do this with live stuff than it is to have a set of videos like this site uses.
realityfactchex•2h ago
Recent media coverage:
https://techcrunch.com/2026/03/12/channel-surfer-watch-youtu...
https://www.theverge.com/tech/893598/this-is-immediately-my-...
https://www.engadget.com/entertainment/youtube/this-web-app-...
https://hackaday.com/2025/10/17/channel-surfing-nostalgia-ma...
dang•1h ago
Normally I'd leave your comment in the original thread as a pointer, but since the other links are of interest, I've moved it too.
(the other thread was https://news.ycombinator.com/item?id=47366400)