Suhas R
Software Engineer
  • Residence:
    India
  • City:
    Banglore
  • Bootstrap, Materialize
  • Styles, Css
  • Larvel, Blade, Dart
  • GIT knowledge

Namma Metro Live Map

Project details

Description

Namma Metro has no public live-train API, so I animated BMRCL's real published timetable instead. The result is an ambient, schedule-accurate map of Bengaluru's metro that's meant to be watched, not just used.

Trains move according to the actual frequency bands and turn-back trips for the correct day type (weekday, Monday, Saturday/holiday or Sunday), all in Bengaluru (IST) time. Nothing is a random loop.

  • Every train, live: Purple, Green and Yellow line trains animated along real track geometry. Planned lines (Blue, Pink) are shown as dashed, clearly marked routes.
  • Departure boards: next trains for all 83 stations, in an LED-style board, with estimated footfall and popular destinations.
  • Follow a train: tap any train and the camera rides along with it at street level.
  • Crowd heat: how busy each station usually is right now, built from BMRCL ridership data.
  • Cinematic idle mode: after a few seconds without input, the camera drifts between the network overview and each line by itself.
  • Stateless simulation: each train's position is a pure function of the current time, so a backgrounded tab resumes instantly with no drift.
  • SEO-ready: every station is prerendered as its own page with structured data and a sitemap.

Tech stack: Vite + TypeScript, MapLibre GL JS on OpenFreeMap vector tiles, Vitest, and Firebase Hosting deployed through GitHub Actions.

Line geometry, stations and timetables come from Vonter/bmrcl-gtfs (ODbL-1.0), which is built from BMRCL timetables and OpenStreetMap.

Suhas R