SafeRoads is a full-stack application designed to enhance women’s safety in urban areas by providing intelligent travel recommendations based on real-time data. The system uses machine learning, geospatial data, and community feedback to assess and visualize the safety of different city areas, and to recommend safer routes accordingly.
This project was developed as part of my final year engineering thesis. It combines multiple technologies—including data engineering, machine learning, web development, and mobile app development—to deliver a unified safety solution tailored for women in cities like Chennai.
Data Sources → ETL & Preprocessing → ML Model → Geo Grid Safety Scoring → Web Dashboard + Mobile App
- Real-time safety scoring for urban areas
- Smart and safe route recommendations
- Crowd-sourced user feedback system
- Admin dashboard for analytics and visualization
- Lightweight mobile app for quick and easy access
We collected, cleaned, and normalized 5 key datasets:
-
Crime Data
Official city-level crime statistics filtered for incidents like harassment and assault. -
CCTV Coverage
Locations of CCTV cameras across the city from municipal data, geotagged and mapped. -
Public Transport Access
Data on bus stops, metro stations, and common taxi points to assess connectivity. -
Street Layout and Roads
Extracted road network data from OpenStreetMap for spatial route calculations. -
Public Sentiment
Analyzed tweets and community reports (e.g., Reddit, RedDot Foundation) using NLP.
- Missing geolocations were filled via reverse geocoding
- Irrelevant or off-city data was filtered
- Normalized all feature values (0–1)
- Mapped features into city-wide grid cells for model input
We trained ML models to assign safety scores to each grid cell in the city.
- Logistic Regression and Random Forest classification
- Feature engineering using the 5 collected datasets
- DBSCAN for unsupervised hotspot detection
- Sentiment classification using Bag-of-Words + XGBoost
Each grid cell gets a score (0–100) representing its safety based on current and historical data.
- Exposes REST APIs to serve safety scores, map overlays, and routes
- Handles feedback submissions
- Lightweight, file-based (uses CSV/GeoJSON instead of a DB)
- Interactive map with toggleable overlays (crime, CCTV, sentiment, etc.)
- Route recommendation from source to destination
- Admin panel to review analytics and user reports
A cross-platform mobile application for end users, built with Flutter.
- View nearby areas with live safety scores
- Get safe route suggestions based on safety score and shortest path
- Submit feedback or report unsafe spots
- Modern UI using custom themes and responsive layouts
| Area | Tools / Languages |
|---|---|
| Data Collection | Python, Pandas, OpenStreetMap APIs |
| ML Modeling | Scikit-learn, XGBoost, GeoPandas |
| Web Backend | Python Flask, REST APIs |
| Web Frontend | React.js, Leaflet.js, Vite |
| Mobile App | Flutter, Dart |
| Visualization | GeoJSON, Leaflet heatmaps |
- Automate live data fetching from open city APIs
- Scale to other metro cities with automated grid generation
- Add Firebase for authentication and real-time feedback
- Push notifications for alerts or unsafe zones
Hi, I'm M Vignesh Muruga, a passionate software developer from Trichy, building full-stack and AI-powered apps to solve real-world problems.
I'm open to feedback and collaboration.
If you're interested in working on civic-tech, women safety, or mobility solutions—reach out!