Left · the labs.llc tool
Transit, side by side
The next New York subway train, read from the MTA's own feed inside the page: the labs.llc board against mta.info and the Transit app.

Right · set against
- MTA website (mta.info)
The MTA's own site: real-time alerts, service changes, elevator and escalator status, maps and schedules.
page checked 2026-09-27 20:05 UTC - Transit (app)
A trip-planning app with real-time departures in over a thousand cities and rider-shared vehicle locations.
page checked 2026-09-27 20:05 UTC
1 · The tool
What it is, and who it is for
The countdown clocks on New York subway platforms run on the MTA's real-time predictions. The labs.llc Transit board reads that same data for any of the 496 stations and shows the next trains in both directions, with nothing to install and no location asked for. It also draws a map of the system from the MTA's station register.
It is for riders and visitors who want the next train on a single page.
2 · The workings
How it works
There is no labs.llc server involved (transit/assets/js/app.js lines 1-6). The page fetches the MTA's GTFS-realtime feeds directly, only the ones that cover the chosen station's routes, and decodes the binary protobuf with its own 3,263-byte reader, gtfsrt.js, rather than a library. It refreshes every 30 seconds while the tab is visible. Each train's destination is read from its own trip, not a timetable; trains that end their run at the station are dropped; and trains are keyed by feed as well as id, because ids are sequence numbers per feed and two feeds could collide at a shared stop.
- api-endpoint.mta.info GTFS-realtime feeds (gtfs, ace, bdfm, g, jz, nqrw, l, si)
- MTA Stations dataset 39hk-dx4f on data.ny.gov, built into the page on 2026-08-18
Where the work happens: Your browserThe page reads the MTA directly and decodes the feed itself.
3 · The test
What we ran, and what came back
Run against a local copy of labs.llc build 537, byte-identical to the live site. Times are UTC.
| What we did | When (UTC) | What came back |
|---|---|---|
| The station register | 2026-09-27 20:00:48 | 496 stations in 445 complexes that share a fare gate; 163 carry the MTA's accessibility flag. |
| The A/C/E feed, decoded by the page's own reader | 2026-09-27 20:00:48 | HTTP 200 in 0.07 s, 87,418 bytes, open to cross-site reads. Feed stamped 20:00:40, eight seconds old: 88 trip updates, 88 vehicle positions and 1,951 stop predictions. |
4 · Side by side
Row by row against MTA website (mta.info), Transit (app)
2 to labs.llc4 elsewhere0 level
01Getting to the next train
Pick a station and read both directions on one page; stations that share a fare gate are grouped onto one board. No app, no location, the choice kept only in this browser.
Evidence: app.js lines 5-6; transit/index.html method textmta.info links maps, schedules and the MTA app.
Transit shows nearby options as soon as the app opens.
For a known station, labs.llc is the shortest route to the countdown; Transit's nearby view helps when you do not know the station.
02Reading the feed properly
Destinations taken from each train's own trip, terminating trains removed, trains keyed by feed and id, and only the feeds the station needs fetched.
Evidence: app.js lines 12-18, 159-165Transit works with agencies on detours, network changes and service problems.
labs.llc shows its handling of the raw feed; we did not inspect how the others process the same data.
03When the feed is wrong or missing
It shows what the feed says and cannot fill a gap.
Transit adds real-time bus and train locations shared by riders through its GO feature.
A second source helps when the first one fails; Transit has one and labs.llc does not.
04Alerts and planned work
None. The board shows departures, not service changes.
mta.info carries real-time alerts and subway service changes.
Check the MTA's own site before a weekend journey.
05Step-free travel
The register carries an accessibility flag for 163 stations, but the board does not use it, and there is no lift status.
Evidence: stations.js; test at 20:00:48 UTCmta.info shows elevator and escalator status.
For anyone who needs a working lift, mta.info is the page to use.
06Beyond the subway
Subway and Staten Island Railway only; no buses, LIRR or Metro-North, and no trip planning.
mta.info covers buses and the whole MTA network.
Transit plans trips across modes in 1,000+ cities, New York among them.
labs.llc does one thing; the others do the whole journey.
5 · The shortcomings
Where it falls short
- No service alerts or planned work, and no elevator or escalator status.
- Subway and Staten Island Railway only, with no trip planning.
- It can only show what the MTA's predictions say.
6 · The verdict
Which side, for which job
Left: labs.llc Transit
Pick the labs.llc board when you know your station and want its next trains in both directions, now, on any browser, with nothing installed.
Right: elsewhere
Pick mta.info for alerts and lifts, and the Transit app for planning a journey or riding beyond the subway.
A careful single-purpose reader of the MTA's own countdowns. Everything around the countdown lives elsewhere.
Try Transit on labs.llc