Build your own
Create your TV with Claude Code
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.
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.