Case study · P/04 · Machine learning · Full stack · Published
VigilExplainable multi-hazard disaster prediction
An AI-based early-warning platform that forecasts seven natural-hazard types across 25 Indian cities with XGBoost and LightGBM ensembles, explained with SHAP, and served through FastAPI and PostgreSQL. The research paper, Multi-Hazard Disaster Prediction and Alert System Using Real-Time Environmental Data, is accepted in ISJEM.
- ROC AUC · heatwave
- 0.876
- ROC AUC · cyclone
- 0.852
- hazard types · Indian cities
- 7 · 25
The problem
Disaster response needs forecasts that people can act on and trust. A risk score without an explanation is hard to defend in an operations room, so explainability was a requirement from the start, not an add-on.
What I built
- Per-hazard models: local ML models for flood, cyclone, drought, heatwave and compound risk, an API-driven wildfire estimator on NASA FIRMS data, and a rule-based hurricane estimator.
- XGBoost and LightGBM ensembles with SHAP explanations surfaced next to every prediction.
- Seasonal climatological bias correction: real-time weather features are corrected against monthly baselines before inference.
- Confidence-weighted ensemble fusion for compound, cascading hazards.
- A FastAPI + SQLAlchemy + PostgreSQL backend with JWT auth, and a React 18 + TypeScript dashboard with maps and charts.
Results
- ROC AUC 0.74 to 0.88 across hazard types: heatwave 0.876, cyclone 0.852.
- Coverage of 7 hazard types across 25 Indian cities.
- Research paper accepted in ISJEM.
Stack
- Python
- XGBoost
- LightGBM
- scikit-learn
- SHAP
- FastAPI
- SQLAlchemy
- PostgreSQL
- React
- TypeScript