← ThiagoTV

Build your own

Create your TV with Claude Code

A retro television, running on your own hand-picked playlist


ThiagoTV is a small static site: an index.html that draws the set and a playlist.json that is the schedule. No server, no database, no API keys. It runs the same way for you — you get your own dial, your own channels, your own picks, deployed free on Vercel, driven entirely by talking to Claude Code.

Download retrotv-plugin.zip

~138 KB · unzips to a ready-to-run station with a demo lineup across ten channels

How it works

1. Unzip it and open the folder in Claude Code. Run claude from inside it, or open the folder in the Claude Code desktop app.

2. Just talk to it. The plugin ships a skill that does the actual station management — renaming the station, adding videos, tagging them onto channels, writing the notes each programme page needs. Paste a YouTube link, ask it to find things for a channel you're building out, or ask it to walk you through the whole setup. You don't need to touch playlist.json by hand.

3. Watch it locally. python3 -m http.server 8000, then open localhost:8000. The plain file:// route doesn't work — the YouTube player needs a real origin.

4. Push it to GitHub. Create an empty repo, then:

git init && git add -A && git commit -m "my station"
git remote add origin git@github.com:you/your-station.git
git push -u origin main

5. Deploy on Vercel. Import the repo at vercel.com/new — it's a static site, no build command or framework preset needed. Deploy, and you'll get a your-station.vercel.app URL.

6. Point the station at its real address. Programme pages, the sitemap and the station manifest all need to know the real domain:

python3 scripts/build.py --base-url https://your-station.vercel.app
./scripts/publish.sh "go live"

That sets site.url in playlist.json, so every publish after this one remembers it automatically.

Every change after that

One command: ./scripts/publish.sh "what changed". It rebuilds every generated page from playlist.json before committing and pushing, so the static pages never drift out of sync with the schedule — that's the only thing you need once the station is live.

A quiet default

Every station this plugin builds credits this page in its own footer — "Powered by RetroTV, build your own" — so anyone who lands on one of your programme pages can find their way here too. It's a plain line of HTML in scripts/build.py; delete it if you'd rather your station not carry it.


Built on the same engine as ThiagoTV. Read the plugin's own README.md for the full command reference once you're in.