Urban blight costs cities billions annually in reduced property values, increased crime, and community displacement. Traditional approaches are reactive—we only act after decay has already set in, when it's most expensive to fix.
Urban Sentinel flips this model. Our AI system predicts at-risk neighborhoods up to two years in advance, enabling proactive interventions that save communities and millions in taxpayer dollars.
🔮 Predictive, Not Reactive — See the future of your city before it unfolds
🎯 94.4% Accuracy — Trained on 5+ years of real Toronto data
⚡ Real-Time Intelligence — Interactive risk visualization at 30fps
🗺️ Actionable Insights — Click any neighborhood for detailed risk analysis
💰 Cost-Saving — Prevent problems before they become expensive to fix
- Enhanced LightGBM with cross-validation and early stopping
- 10,659 risk predictions across Toronto's urban grid
- Feature engineering from 311 service complaints, temporal patterns, and geographic correlations
- 2014-2019 data for comprehensive training
React + TypeScript + Mapbox GL JS
Performance-optimized rendering (30fps on any device)
Glass-morphic design with dynamic risk filteringFastAPI + Python + GeoPandas
Real-time ML inference pipeline
Spatial data processing and GeoJSON generationDocker containerization for seamless deployment
Hot-reload development environment
Cross-platform compatibility
| Metric | Value | Impact |
|---|---|---|
| Model Accuracy | 94.4% ROC-AUC | Industry-leading precision |
| Risk Predictions | 10,659 | Complete Toronto coverage |
| Data Span | 2014-2019 | Six years of historical inputs |
| Prediction Horizon | 2+ years | Early intervention window |
| Response Time | <500ms | Real-time intelligence |
- Docker Engine with Docker Compose v2
- Node.js 22+ (for local development)
- Python 3.11 (for local development)
- A public Mapbox access token
git clone https://github.com/ManagementMO/Urban-Sentinel.git
cd Urban-Sentinel
cp env.example .env
# Set REACT_APP_MAPBOX_TOKEN in .env before starting the frontend.
docker compose up --buildUrban Sentinel will be running at:
- 🌐 Frontend:
http://localhost:3000 - 🔧 Backend API:
http://localhost:8000
# Frontend
cd frontend
npm ci
npm start
# Backend (in a separate terminal)
cd backend
python3.11 -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
uvicorn api:app --reloadUrban-Sentinel/
├── 🎨 frontend/ # React + TypeScript UI
│ ├── src/components/ # Landing page, risk map, filters
│ └── src/services/ # API integration
├── 🧠 backend/ # FastAPI + ML pipeline
│ ├── api.py # REST API endpoints
│ ├── model.py # LightGBM training & inference
│ └── geojson.py # Spatial data processing
├── 📊 datasets/ # Toronto 311 service data
└── 🐳 docker-compose.yml # One-command deployment
- Data Ingestion — Process Toronto's 311 service requests (2014-2019)
- Feature Engineering — Extract temporal patterns, complaint clusters, geographic correlations
- Model Training — Enhanced LightGBM with stratified sampling and early stopping
- Risk Prediction — Generate urban decay forecasts for each grid cell
- Visualization — Interactive Mapbox display with real-time filtering and statistics
Clean, professional design that builds trust with city officials
Toronto's urban grid color-coded by blight risk — red zones need immediate attention
Click any area for comprehensive risk breakdown and trend analysis
- 🌍 Multi-city expansion — Chicago, Detroit, New York
- 📱 Mobile app for field workers and community engagement
- 🛰️ Satellite imagery integration for enhanced predictions
- 📊 Economic impact modeling to quantify intervention ROI
- 🔗 API ecosystem for integration with existing city systems
