Real-time state
WebSocket subscriptions keep track changes, playback position and volume in sync, with REST polling as a fallback.
Open-source hardware / 2026
A small touchscreen that makes a Home Assistant media player feel physical again — album art, playback, seeking and volume without reaching for a phone.
ESP32 · C++ · PlatformIO · Home Assistant

The project started with a simple wish: see what is playing and control it from a dedicated display instead of opening another app.
It grew into firmware supporting multiple inexpensive ESP32 display boards, real-time Home Assistant updates, streamed cover artwork, touch controls and secure on-device configuration.
WebSocket subscriptions keep track changes, playback position and volume in sync, with REST polling as a fallback.
Bounded streaming and image decoding keep large Home Assistant responses inside the ESP32’s memory limits.
Tokens stay off source control, configuration happens on-device and HTTPS connections fail closed when identity cannot be verified.
Native policy tests and a multi-board CI matrix check the logic and all supported firmware variants.
What it demonstrates
Good product work can start with a personal annoyance — and still demand careful engineering, security and documentation.