Screens
Key engineering
Under the hood
A Vega OS TV app as the centrepiece, with two supporting pieces around one typed contract: a phone page with a hidden booth view, and an edge API. The same schemas validate a payload on the phone, at the API and on the TV, so the three cannot drift apart silently.
Photos in object storage, rows in a relational store at the edge, and live delivery through one coordinator that fans events out over WebSockets. On the TV, everything the audience sees is derived from a single pure reducer.
Edge only — no origin server — plus a packaged TV build installed on the device. Every change is gated by typecheck, lint and tests in CI.
A public screen at a conference is the sharp edge: anything shown is shown to a room. Moderation is approve-first, and if the connection drops the wall keeps playing what it has and catches up on reconnect rather than going blank.
Stack
What it took
- Showing off a new platform. Vega OS is Amazon's React Native-based successor for Fire TV, still early, with thin documentation. The app exists to show at a conference what it can do in practice, and the gotchas found along the way — build, manifest, input, animation, debugging — are published as field notes for other developers.
- A TV is not a big phone. Remote-only input, a fixed layout canvas, a Back button that must never drop the booth out of the app, and every animation on the native driver so it stays smooth on a Fire TV Stick.
- The show is a state machine, not a pile of timers. Auto-advance, the spotlight slideshow, new arrivals that announce themselves and the periodic full-screen moment are one pure reducer with unit tests.
- Realtime for almost nothing. A single hibernating coordinator pushes events to every connected TV, so the wall costs next to nothing when the hall is empty.
- Privacy by default. Nothing reaches the screen without approval, consent is explicit, uploaders can delete their own photo, and everything expires on its own.