Urban bus systems in Indian Tier-1 cities (e.g., Bangalore, Delhi, Pune) rely on static timetables that fail to adapt to real-world conditions.
This leads to:
- Bus bunching (multiple buses arriving together)
- Under-utilized trips during off-peak hours
- Unpredictable passenger wait times
Transit agencies lack tools to forecast demand surges and adjust schedules in real time.
Urban bus systems in Tier-1 Indian cities often run on static timetables. This causes bus bunching, empty off-peak trips, and unpredictable wait times.
Our solution: a Smart Bus Management System that adapts in real time to improve efficiency and passenger experience.
Data ingestion β uses multiple CSVs
Real-time simulation β buses move with mocked GPS + live passenger counts
Scheduling engine β reschedules delayed buses, dispatches extras if overcrowded
Prediction model β forecasts ridership for upcoming hours
Alerts β detects delays, overcrowding, and notifies in real time
Dashboard/UI β shows optimized vs original schedules, ridership charts, alerts, and live bus map
- Backend: FastAPI (Python)
- Frontend: HTML, JavaScript (Chart.js, Leaflet.js)
- Data/ML: Pandas, Scikit-learn / basic time series
- Database: SQLite (for prototype)
# 1. Clone repo
git clone https://github.com/your-username/smart-bus-optimization.git
cd smart-bus-optimization
# 2. Create virtual environment
python -m venv venv
source venv/bin/activate # Mac/Linux
.\venv\Scripts\activate # Windows
# 3. Install dependencies
pip install -r requirements.txt
# 4. Run backend
uvicorn backend.app:app --reload