Abstract
It’s called spelunkr . 24 channels (so far) of forgotten videos organized into themed "cable tv channels" that play on a synced schedule 'round the clock. The entire collection so far is about 2,700 hours of video, running around the clock. You tune in and land in the middle of whatever is on, at the same moment as everyone else watching, the way TV used to work. Codebase is about 87,000 lines, made up of 24,000 of app code, 13,000 of CSS, 28,000 of tooling scripts, 16,000 of tests and 5,000 of SQL. 670 commits over 8 months, and we run over 850 unit tests and 160 browser tests. It's been a real passion project for me, really my first idea of what to build with Claude and has just been growing slowly as I've had time to work on it. I've been plugging away at this off and on for the past 8 months, about 30 days of "total" work across that time, nearly all of it done with Claude Code. Here's how it works under the hood: All videos on the website are streamed directly from the Internet Archive. The player is a plain HTML <video> element pointed at the Archive’s own file. No iframe, no proxy, no re-encoding, no copy. Spelunkr itself serves the page (about 110 KB of JavaScript, gzipped), small JSON schedules, and about 200 public domain or CC BY or BY-SA music tracks for the breaks. Every title links to the tape’s own page at the Archive. There are station "bump" breaks between videos as an homage to the classic Adult Swim bumps. Channels are built from Archive search audits to see if the IA has enough content to support a full length channel. Some channels are classed as "REWIND" and usually are 2 to 6 hour long VHS rips of actual live cable TV from someone's VCR in 1993. There's also classic movie channels dedicated to horror, monster flicks, detective noir capers, and western flicks. I even found every episode of The Joy of Painting and gave it CH 12: HAPPY TREES. Claude checks all the tapes to make sure they're legit, then formulates the descriptions, facts, and schedule for me to approve. Each channel has its own branding, a 32×32 pixel logo drawn from eight color tokens, its own station-break voice and its own music pool. A channel orders its tapes one of three ways: by year (8 channels), shuffled (12), or block rotation (4). Block rotation is a few episodes of one show, then the next show, round and round. A channel is a published list of tapes with a start time. “What is on now” is arithmetic: walk the schedule from its start to the present. The same code runs in the browser, the publishing tool and the tests, in whole milliseconds, so every machine gets the identical spot on every channel's schedule across the globe. The math also accounts for the bump breaks, which get re-picked on every pass through the lineup. The browser measures its clock against the server’s once (the HTTP Date header) and corrects it only when it is more than 2 seconds off. A new lineup is published at least two minutes ahead and takes over at the end of a break. Open tabs hear of it over a websocket and switch without a reload. Some key features built in: Limited DVR: Pause, skip back 15 seconds, or scrub within the tape that is on. The player shows how far behind live you are, and LIVE snaps back. (While paused you fall further behind each second) In-line timestamped comments and reactions: A comment is stored against the tape (its Archive identifier) and a second within it, not against a channel or an air date. It comes back at that second every time the tape airs, on any channel that carries it. I've linked up a discord to help moderate potential comments (there are none yet lol). Signing in to comment also joins you to the Discord. Reactions work the same way and require no account or Discord. Its a free for all. A reaction from someone within 10 seconds of your playhead floats up over your picture as it happens. Comments are permanent pins on the timeline and pop up over the picture as the playhead crosses them. I like to think of it as pop-up video cable graffiti. Future plans: Marathon blocks GeoCities-accurate homepages for every channel with guest books and webrings. 90's chatroom skinned live chats from the discord server for every station. Machine-generated live synced English subtitles for foreign stations (big interest in vintage Japanese Game Show channels) Clipping for users and a leaderboard to browse and share clipped moments from live TV. More channels: I'm currently building a "horror hosts" B-movie channel for Halloween. Think Elvira and many other public access hosts from bygone eras showing terrible creature features. I've also got infomercials, game shows, paranormal TV, and probably another 50 channels worth of stockpiled ideas ready to build! submitted by /u/thetalkinghawk to r/ClaudeAI [link] [comments]