Modernizing
an Old Elevator
Our office elevator had no music, no display, nothing but a bare 220V socket on top of the cabin. Previous fixes involved an mp3 player wired to a small amplifier. This time I wanted more: a tablet playing music while showing the weather and live airport departures. The catch? An elevator is a moving metal box with almost no WiFi, and the screen has to survive curious fingers 24/7.
The Constraints Design the System
Three facts shaped every decision. First, the cabin travels through floors with no WiFi coverage, so the display cannot depend on a live connection. Second, nobody will ever plug a keyboard into it, so everything must recover on its own: after a power cut, after a network drop, after an OS hiccup. Third, passengers will tap the screen, so the interface has to ignore them completely while still letting me in for service.
Once you accept those constraints, the architecture almost writes itself: a web page that treats the network as optional, a tablet that treats the page as its entire world, and a hidden service entrance for exactly one person.
An Offline-First Page
The display is a single web page hosted on Vercel. A service worker caches the whole page and, more importantly, the entire music mix (a single ~90 MB mp3) locally on the tablet. After the first load, the music never touches the network again. The page loops the file with a plain audio element, and the service worker even answers HTTP range requests from cache so seeking works offline.
Locking Down the Tablet
The hardware is an Android tablet on Fully Kiosk Browser. Kiosk mode hides the status bar and navigation, launches on boot, keeps the screen awake, and locks everything behind a PIN. On top of that, the page itself sets pointer-events to none on all content, so even a tap that somehow lands does nothing: no pause, no zoom, no scroll.
My service entrance is invisible: a long press on a specific corner of the screen, followed by a PIN pad, opens a small panel with volume control, mute, data refresh, and cache management. Passengers see a screen that simply does not react. I see a fully manageable device, including a remote admin interface reachable over the LAN so most maintenance never requires opening the cabin ceiling.
Small Details That Earn Their Keep
A night mode dims the screen and pauses the music outside working hours, which the LCD panel and the neighbors both appreciate. The music volume is fixed in software so nobody can crank it. And the mix itself is licensed background music rather than a random download, because a facility lead who handles compliance for a living should probably not install a copyright problem in his own elevator.
What This Really Was
On paper this is a toy project: music and a weather screen in a lift. In practice it exercised the same muscles as any production system: offline-first design, cache layers, API quota budgeting, kiosk hardening, unattended recovery, and remote operations. The elevator just happens to be the least forgiving deployment environment I have ever shipped to. No SSH, no screen sharing, and your users are trapped in a box with your bugs, four floors at a time.