Illustrative map. Measured paths and display fitting are separate; GPS gaps remain visible.
Know when the bus actually arrives.
Live buses on the map, ETAs with a range when we're unsure, and a heads-up when a line leaves its route.
* Latest offline candidate vs official realtime on 7 October: 4,349 forecasts / 1,594 arrivals. Arrival-balanced MAE; not a live service guarantee.
Illustrative app preview · times and vehicle counts below are examples
Live historical model.
First TCN in shadow.
Latest TCN evaluated offline.
Where is the bus? What happens next.
We use public vehicle positions when available, identify progress along a compatible route pattern, and estimate the remaining journey from recorded history. Missing or repeated positions reduce what we can know.
- 01Match to the route
The GPS trace is matched to one official route pattern.
- 02Measure the road
Observed remaining travel times, with time-period estimates blended toward broader history when data is sparse.
- 03Show the range
A time window when we have a live bus. Scheduled when we don't.
Before you walk to the stop.
Interface illustrations; times and service examples are not live measurements.
A window when there's a live bus. Scheduled when there isn't.
Earlier retained routes and latest published MaTO routes. Geometric differences still need stop-service validation.
Alerts when a line you follow diverts, and when it goes back on route.
Routes turn at corners. A diversion is easy to spot.
lines in the 20 Oct published-route snapshot
arrival-balanced error · 7 Oct offline paired sample
Three generations.
One clear status for each.
From recorded journey times to neural predictions: each generation builds on the historical estimator, which remains the fallback.
Learn from journeys
already made.
Match a vehicle to its route, then look up the time earlier vehicles needed to reach your stop from that position. Similar time periods borrow from broader history when observations are sparse.
Read the recent
movement pattern.
The first temporal convolutional network adds a learned correction using recent speed, progress, stopping and data quality. It remains a shadow experiment alongside passenger serving.
A newer model.
A better time contract.
The October TCN uses newer data, fixed one-minute history slots, shared training/serving features and known terminal waiting. It now serves web arrivals, with the historical estimator as fallback. The benchmark below is an offline evaluation.
Four methods.
The same arrival evidence.
for the latest candidate on 7 October
Every arrival receives equal weight. Lower is better; error is in seconds.
Selected October replay: first TCN neural coverage 45.0%; latest 99.8%. Remaining cases use the historical fallback. August weights use their original preprocessor with the current compatible history wrapper; these are not recovered original live outputs.
Explore per-line categories, daily coverage and all metrics →ETAs are guesses. We say so.
Arrival uncertainty depends on distance, observation quality and available history. These illustrated labels explain the interface; the measured results above describe the selected evaluation samples.
Live bus on this trip, close enough for a tight ETA.
About 3-5 minutes. A window, not a fake exact time.
Nothing on the map for this trip. Timetable time, clearly marked.
A live GPS signal can be flagged before it is confirmed. Counts may be incomplete or temporarily inaccurate.
Check before you leave.
Explore live positions, recorded journeys and both route-reference views. The latest neural model serves web arrivals with a historical fallback.