Ambient hardware dashboard for live Claude Code sessions
airgbmatrix
- CircuitPython
- Python / Flask
- Tailscale
- HUB75 / Matrix Portal S3
Scaffold write-up — replace with the final prose and add the architecture diagram.
A 32×32 RGB LED panel that shows active Claude Code sessions in the room: one tile per session, colored by session GUID, with a live token and code-change histogram.
The path the data takes is the interesting part. A cloud devbox running Claude Code (with shell hooks) reaches a Flask state server on my home laptop over Tailscale only; the laptop drives an S3 Matrix Portal on the home LAN (CircuitPython) which renders to a HUB75 panel. Internal by design — Tailscale for cross-host traffic and a LAN-scoped Defender firewall rule for panel access, so there’s no public auth surface.
Three parts I’m happy with:
- Color leases, not hash-mod-8. An 8-color palette with a birthday-paradox-aware lease system that guarantees distinct colors across concurrent sessions, instead of hashing the GUID into 8 buckets and praying.
- Transcript reconstruction. Per-turn token and code-change counts are recovered by parsing the session transcript.
- Dual renderer. A server-side Python renderer and the CircuitPython port on the S3 produce bit-for-bit matching output.