Case study · Developer · Research
MetroNow Chennai
live train tracking for Chennai Metro
A web app that shows where every Chennai Metro train is and when it will reach your station, across all three lines and 52 stations, in English and Tamil. Built from the official timetable and anonymous rider reports, and written up as a proposal to CMRL and CUMTA and two research papers.

The problem
Chennai Metro publishes no real-time data feed, so every app, including the official one, shows only scheduled timings. A passenger can't see where the next train actually is, and a train missed by a minute costs the full gap: 3 to 7 minutes on the Blue Line at peak, 12 to 14 minutes between Alandur and St. Thomas Mount, and up to 15 to 30 minutes after 10 pm.
What the research found
- No existing service shows live train positions in Chennai: not the CMRL app, not Chennai One (which tracks buses only), not Google Maps or Moovit. CMRL announced real-time timings in 2018, but the feature isn't in the current app.
- Disruptions leave passengers guessing. On 23–24 December 2024 a stalled train at Washermanpet stretched waits from 7 to 15–18 minutes; on 2 December 2025 passengers waited nearly 10 minutes in a tunnel between Central and High Court with no information.
- The official app is rated 2.3 on Google Play and 2.1 on the App Store (September 2026), with reviews mentioning removed schedules and unclear routes.
- Field timings matched the model: doors open 10–15 s in service (modelled 15 s), Tondiarpet to Central takes 10–15 min (modelled 10.1 min), and Wimco Nagar Depot to Airport 51–55 min (modelled 53.0 min).
- The work is written up as an IEEE conference paper and a longer journal manuscript on estimating arrivals without live data, with 29 references checked against the Crossref DOI registry, and the reconstructed timetable published as a GTFS feed.
Decisions that shaped it
- 1
Honest by design. Every time carries a label: Scheduled (from the official timetable), Estimated (adjusted by a recent rider report) or Live (confirmed in the last two minutes). Nothing is shown as live unless it is.
- 2
Rebuild the timetable from what CMRL does publish: first and last trains, and the gap between trains for peak, off-peak, late evening, Saturday and Sunday, with travel time from track distance and 15-second stops.
- 3
Riders as sensors. A tap on "arrived" or "left" moves that train to its observed position and re-times every station after it, for everyone. Reports are anonymous and deleted after 30 minutes.
- 4
One data adapter for every source, shaped like GTFS-Realtime, so an official CMRL feed can replace the estimates later without changing anything passengers see.
- 5
Built for the phone in a passenger's hand: installs like an app, works offline after the first visit, a 3D map showing elevated and underground sections, and full English and Tamil.
Built with
- React
- TypeScript
- Vite
- MapLibre GL
- Three.js
- Google Maps 3D
- PWA
- GTFS