1988.in
A CRT television in the browser, already mid-programme: 100+ channels of Bollywood, cricket and Doordarshan-era classics with no skip button.
Project intro
1988.in is a television that lives in the browser. You accept a short station notice, press the glass, and the set comes on already in the middle of a programme — no account, no search, no decision about what to watch next. Bollywood is on 001, cricket on 002, and Jungle Book, Shaktimaan, Ramayan and Mahabharat sit alongside the other Doordarshan-era shows under DD Era, next to nature, food, sport and quieter channels to leave running. There is no progress bar and no next clip waiting under your thumb: change the channel, or stay with the picture.
The illusion of a broadcast is a clock. Durations in each channel's catalog are summed into a loop, and the UTC second, modulo that loop, picks the video and how many seconds into it you join — so two people who turn on the same channel in the same second join the same moment. Channel, volume and mute stay in that browser, including changes made from a paired phone: the phone becomes the remote over a small WebSocket protocol, scanning a QR code and an eight-character pairing code, while the picture stays on the computer and the desktop sends its real state back.
The set is a Vue 3 single-page app (Vite, Pinia, Vue Router). YouTube's IFrame Player paints the picture and YouTube Data API v3 fills the guide from each channel's public uploads playlist, while a Vercel function relays the phone remote. Each channel is a playlist id, not a search, and the lineup is a file in the repository — the schedule is arithmetic on UTC, so there is no programme database to run, pay for or lose. The guide fills the CRT screen within its bezel, scanlines stay on the glass, and the HUD and controls fade away after four seconds of inactivity.
Vibe-coded evidence, in the author's own words on DEV (5 October 2026, updated 7 October 2026): "I built it with Cursor, from a written spec through to the Samsung TV fix in 0.4.1." He built it for his kids as a Hacktoberfest Weekend Challenge entry (Build for a Friend), and the design spec and implementation notes are in the repository under docs/superpowers/ and docs/architecture.md. Honest limits: video stays on YouTube, which is the closed piece of an otherwise open set, and playback still needs internet access to the YouTube iframe; a finite catalog repeats once exhausted, and the author's own audits note that the 168-hour coverage target is not yet met by every channel. GitHub stars: 2 at the 28 October 2026 check.
Actions
Tech stack
Project info
- Project category
- Entertainment
- Project status
- Online
- Collaboration intent
- None