← Back to work

full-stack

Platform Perfect

Sydney Trains PWA — stand in the right spot, every time. On Google Play.

Sydney commuters had no way to know which carriage to board for their exit. Finding the right door meant guessing, then walking the length of the platform at the other end.

Progressive web app + Android TWA that parses the TfNSW GTFS-RT protobuf feed in real time to identify the exact train fleet type and car count, then recommends the optimal carriage and door for any exit at 161 stations. Auto-derived station data from GTFS pathways using lat/lng projection. Offline-capable with 446 pre-built schedule chunks. Trip planner cross-linked to door recommendations. On Google Play.

How It Works

Sydney's live train data, turned into the exact carriage and door to board.

A Sydney train trip often ends at the wrong end of the platform — the doors open hundreds of metres from the exit you need, which at a busy interchange means a two-minute walk against the crowd. Apps like TripView and Opal Travel tell you when the train arrives, not where to stand. Platform Perfect answers that one question.

The data to answer it already exists; it just hasn't been joined up. Transport for NSW publishes a live feed that identifies the approaching train, including its fleet type and carriage count. Combined with the physical layout of each platform — its length, its exit positions, and its orientation — that pinpoints the exact carriage and door that will stop at your exit. An eight-car train and a four-car train line up differently, so reading the live fleet type is what makes the result accurate rather than a guess.

You choose your station, your platform from the live departures, and the exit you want. The app shows the carriage and door to board, an overhead platform diagram, a marker for where to stand, and a confidence rating. A built-in trip planner runs on Transport for NSW's journey data and links each leg back to the matching where-to-stand result.

It covers all 161 stations on the network. Exit positions are derived from the official pathways data and projected onto each platform, and any position the system has inferred rather than confirmed is clearly flagged in the app. Pre-built timetables let it keep working offline if the live feed drops, and it installs like a native app on Android.

Open it and pick your station. It covers the whole Sydney Trains network, 161 stations.

Open it and pick your station. It covers the whole Sydney Trains network, 161 stations.

Pick your platform off the live departures, then the exit you're headed for.

Pick your platform off the live departures, then the exit you're headed for.

The payoff: the exact carriage and door, read off the live train, with a confidence rating.

The payoff: the exact carriage and door, read off the live train, with a confidence rating.

A full trip planner too, cross-linked into the where-to-stand engine.

A full trip planner too, cross-linked into the where-to-stand engine.

Save your regular trips with a live countdown. Works offline, installs like an app.

Save your regular trips with a live countdown. Works offline, installs like an app.

The Results

161 Stations
1,076 passing Logic tests
Full schedule Offline
Web + Android Platform

Tech Stack

ReactTypeScriptViteTailwindExpressprotobufjsCloudflare PagesBubblewrapGoogle Play

Need something similar?

Let's talk about your project.

Get in touch