Real-time bus and scheduled rail, built entirely on NFTA's own data.
This is a real NFTA departure screen, as it looks today — the live departures riders already rely on.
The same crisp, NFTA-branded design at every location: the route, where it's headed, and how many minutes away. Bus times count down live as buses move; train times come from NFTA's published timetable.
No outside services, no middlemen. We read the information NFTA already produces, work out the next departures for each location, and serve a plain web page that any screen can show.
The whole system is one path — NFTA's data in on one end, a screen on the other. Click any step to see what it does and why it matters.
Each screen is defined by where it is. From there, the system does the rest automatically — so the right routes simply appear, without anyone maintaining a list by hand.
For a screen's location, gather the bus stops and train platforms close by.
From NFTA's data, see which routes stop there and which direction each is headed.
Take the timetable, add the live delay for buses, and show the next few — soonest first.
Big stations have more than one screen — University, for example, has three, one for each set of boarding bays. Each screen shows only the departures for the bays it faces, so riders see what's relevant right where they're standing. It's the same system on every screen; each one simply carries its own short list of stops.
The bays for routes 5, 44, 47, 48, 49.
The bays for routes 8, 12, 13, 81.
The bays for routes 19, 34.
Three screens, three different views, all from one platform — and NFTA staff can change which screen shows which stops or routes at any time, without ever touching the screens themselves.
Built to run unattended for months and to keep working through hiccups. Click any part to see what it does.
Technology: Python & FastAPI · PostgreSQL · Redis · runs in a container on Railway — the same kinds of tools NFTA's own team already works with, so it's straightforward to support long-term.
What the platform uses today is kept in just a few well-defined places. Click any to see what it holds.
Each display location — where it is and what it shows — and the physical screens that point at it.
Which routes appear on each screen and in what order — filled in automatically from NFTA's data.
NFTA's bus and rail schedules, loaded and kept current.
The same foundation has room for Phase 2 — messages, departments, and richer screens slot in later without rework. These pieces are designed in now, ready to switch on.
Service messages to show on screens, such as a detour or an elevator outage.
Who can manage which screens — set up so each department can run its own.
A screen can hold more than departures — room for messages, weather, and more.
Phase 1 delivers the live departure screens. Just as importantly, it's structured so the next pieces drop in cleanly — without rebuilding anything.
Later, NFTA staff get a simple console to add screens, fine-tune what each one shows, and post messages — all on top of the same foundation. The routes themselves always come from NFTA's data automatically; the console is for the human touches.
The same screens can carry service messages, weather, and announcements — added as new content types, not a new system.
Bus, rail, aviation, and more can each manage their own screens from one shared platform.