
Fixed schedules meant buses were stuck in traffic or running empty. Commuters abandoned the service for taxis.
Buses were running empty on some routes and overcrowded on others. The static schedule didn't match the shifting pulse of the city.
Predicting ridership using ticket swipes, weather, and mobile data.
Adjusting bus frequency every hour to match predicted crowds.
Live ETA and crowding indicators for passengers.
Schedules had to respect driver break times and shift lengths.
Integrating with 10-year-old GPS trackers on buses.
We shifted to a Dynamic Schedule. AI predicts where people need to go. We add buses to busy lines and cut empty ones. It makes public transport faster and more reliable than driving.