Home hub

The Home hub demo: a clock, the song playing with its cover, and tiles for the lights, purifiers and TV.Run the demo
The control screen, with made-up lights, TVs and purifiers. Open it full size

A Raspberry Pi control screen for my lights, air purifiers and TVs, plus a light launcher for slow Android TVs.

When
Oct–Nov 2026
Status
Shipped
Stack
Python, JavaScript, Java, Bash, Raspberry Pi

The problem

Slow TVs with ad-filled home screens, and lights, purifiers and TVs that each need their own app. Home hub has two parts that work alone or together. Home Lite is a small Android TV launcher that also strips out bloat in a way that can be undone. The Raspberry Pi hub gives phones, a tablet and the Pi’s touchscreen one control screen.

Who did what

I set the rules it follows: every TV change can be undone, my own settings stay out of the repo, and nothing is reachable from the internet. Claude Code wrote the launcher, the TV scripts and the hub.

Constraints

The trade-off

Replacing the TV’s home screen means giving up Google’s search, because that search ships with Google’s launcher. So Home Lite has its own search, which shows where to stream a title.

Outcome

How it was built

A light setup: no CLAUDE.md and no agents. The one Claude Code file is .claude/launch.json, with preview servers for the hub page. One of them serves the previous version next to the new one, for a before-and-after check. The checks Claude runs after each edit are listed in docs/PI.md.