Inspiration
SafeWalk+ was inspired by the need for safer urban navigation for pedestrians and cyclists. In many cities, traditional navigation apps prioritize speed over safety, which can put users at risk in areas with poor lighting, high traffic, or elevated crime. We wanted to create an app that empowers people to confidently navigate their city by prioritizing safety without sacrificing convenience.
What it does
SafeWalk+ calculates routes for walking or cycling by balancing safety and efficiency. It uses a weighted safety score that accounts for infrastructure (sidewalks, bike lanes), street lighting, nearby amenities, crime levels, and disruptions like construction. Users can choose between the safest route or the fastest route, select a departure time, and view an interactive map with turn-by-turn guidance, highlighting streets according to their safety.
How we built it
We built SafeWalk+ using a React frontend with Leaflet for interactive maps and a Node.js/Express backend for route calculations. Street and safety data are loaded from CSV files and supplemented with mock data for demonstration purposes. The backend constructs a graph of intersections and street segments, calculates weighted safety scores, and uses Dijkstra’s algorithm to determine the safest and fastest paths. The frontend displays routes with color-coding, allows users to input start/end locations, select departure times, and view upcoming turns and safety alerts.
Challenges we ran into
One major challenge was ensuring the safest and fastest routes were distinct—initially they were identical because we hadn’t separated distance and safety scoring in the algorithm. Integrating CSV data with mock data for streets also required careful handling to prevent missing or incomplete segments. Lastly, designing a clean, intuitive UI that could display multiple routes, turn directions, and alerts without clutter was tricky, especially for a hackathon timeframe.
Accomplishments that we're proud of
We are proud of building a fully functional MVP that can calculate and display safe and fast routes on a map, even with limited data. The app dynamically adjusts route selection based on time of day, and our safety scoring formula accounts for multiple real-world factors. We also implemented an Apple-like interface for journey mode with turn-by-turn guidance and safety notifications, providing a professional, polished feel in a short time.
What we learned
We learned how to integrate geospatial data from CSVs into a graph structure for routing, and how to apply weighted scoring to balance multiple factors like safety and distance. We also gained experience using React Leaflet for interactive map visualization and handling frontend-backend communication in real time. Finally, we improved our understanding of UI design principles for mobile-friendly, intuitive, and aesthetically pleasing applications.
What's next for SafeWalk+
Next, we plan to refine the backend algorithm to include real-time traffic data, dynamic crime alerts, and better time-of-day adjustments. We also want to enhance the frontend by allowing users to save favorite routes, integrate notifications for upcoming hazards, and expand to additional cities using live data feeds. Our ultimate goal is to make SafeWalk+ a go-to app for safe, confident urban navigation for pedestrians and cyclists everywhere.
Log in or sign up for Devpost to join the conversation.