Regional flight-data backend and companion app for a live flight LED wall
Impact of our work
プロジェクトについて
Project type
Cloud infrastructure & companion app
Tech stack
Go Terraform React Native
built in
4 months & ongoing
~20k devices
moved to the new servers in under 4 weeks
500k+ devices
the new system is built to handle
6 hours to 1 minute
time to detect a backend outage
About the project
プロジェクト
TheFlightWall is an LED display that shows the aviation around you: live flights overhead, with airline, route, altitude and speed. Owners set up their wall and pick the areas and flights to track in an iOS and Android companion app.
The display is the hardware, but the live data is what makes it valuable. Every wall asks the backend for flight data every 10 seconds, all day.
The challenge
挑戦
ID.5.001
With every wall polling around the clock, TheFlightWall needed a backend that could grow toward 500,000 devices without the hosting bill growing with it.
The solution
解決策
ID.1.001
Regional serving fleet
Go API servers in several regions, managed as Terraform code, with geo-steered Cloudflare load balancing and health checks so traffic fails over to another region when one goes down.
ID.1.002
Staged cutover
Devices moved over at 1%, 25%, 50% and 100%, with the old system kept as a fallback, so the switch could be rolled back at any step.
ID.1.003
Dead-man's switch monitoring
Every server checks in on a short heartbeat and the team is paged when one goes quiet, cutting outage detection from six hours to one minute.
ID.1.004
React Native companion app
Fixed the Android setup connection errors at the root by making native module generation part of the Expo prebuild, so a release build can't ship without it.
ID.1.000
BYLD embedded a senior engineer into TheFlightWall's team full-time. We audited the existing architecture, then designed and built a regional serving system: Go API servers provisioned with Terraform, behind Cloudflare load balancing that routes each device to the nearest healthy region. Fleets run in more than one region, and more can be added as sales grow.
Live traffic moved over in stages, from 1% to 25%, 50% and then 100% of devices between July 7 and July 9, with the old system kept as a fallback. Work started in mid-June, so the full fleet of around 20,000 walls was on the new servers in under four weeks.
We also took on the companion app. When customers on Android started hitting connection errors during setup, we traced it to a native Wi-Fi module missing from the release build, tested the fix on a physical phone and FlightWall, shipped a new build, and changed the build pipeline so the module can't go missing again. We wrote up the root cause for the team, and a customer who had been affected sent back a photo of three working walls.
Impact of our work
プロジェクトについて
~20k devices
moved to the new servers in under 4 weeks
500k+ devices
the new system is built to handle
6 hours to 1 minute
time to detect a backend outage
Client feedback
人々が言うこと
They've rebuilt our entire cloud infrastructure and ... 100% of customers devices (~20k FlightWalls) are fetching flight data from the new servers. It's a scalable system able to handle 500k+ devices ... and is actually cheaper to run than our old system. ... You guys are cracked and like can build stuff really fast.