Situation
Our kiosks ran the product in Chrome full screen with flags. Every Chrome update could blow that lockdown: the update page sat on top of the kiosk, contractors could browse free on 4G, and the only recovery was remoting in to kill windows and relaunch. Badge printing hung off a fragile side service. If it was missing from startup, no badge, and users went non-compliant. Offline devices, dead printers, failed jobs: we usually found out from an angry human, not from the fleet.
Task
Replace a stack of brittle workarounds with something solid for the field, then go further: sales were trying to sell bulky, expensive Windows hardware (a couple of thousand dollars a unit) while customers already lived on tablets and phones. Good software was losing to hardware hesitation. We needed a path to cheaper devices and BYOD without giving up observability.
Action
I built an Electron app with an embedded webview: lockdown that did not depend on Chrome flags, console monitoring to catch the badge URL, download and print in-process, plus MQTT so offline devices and failed print jobs alerted the team channel instead of waiting for a complaint. Then I architected and built a Flutter app for the next step: enroll on iPad or Android with CouchDB, carry the alerting and uptime story forward, auto-capture device context so support stopped asking basic connectivity questions, and a hidden admin gesture that opened a support surface, pulled logs, posted to Teams, and opened a Zendesk ticket in one motion.
Result
Kiosks stopped depending on Chrome’s mood and a forgotten startup service. Support moved from reactive remotes to proactive alerts. The Flutter path made the product sellable on devices customers already trusted: less “buy our expensive Windows brick,” more “run it on what you have,” with the same operational eyes on the fleet.