Inspiration

Walking home late at night in a city like London shouldn't feel like a gamble. We wanted to build something that actually helps! Not just a map that gets you from A to B, but one that actively steers you away from danger. The idea came from a simple question: What if your navigation app knew where crime happened and routed around it? And with current solutions like SafeZone being lacklustre, we wanted to make a solution people would choose over Google Maps and Citymapper to feel safer in the city they love.

What does our solution do?

SafeStep is a mobile app that gives pedestrians safer walking routes through London. It pulls live crime data from the UK Police API, overlays it as a heatmap on the map, and uses a custom routing engine to avoid high-risk areas such as crime hotspots and robbery clusters. Users can also share their live journey with trusted contacts in real time, trigger an SOS alert that broadcasts their location, and message contacts directly in-app. A dedicated channel also connects users to King's College London Security for immediate support.

Features

  • Users have their own accounts with login information to protect their data
  • SOS button to notify users' contacts of their location
  • Location/route sharing to provide users and friends with the route they plan on going on
  • Direct messaging between users in their contacts to centralise communication in case of an emergency
  • Crime heatmap to display real-world data for users to avoid
  • Search for locations and get the safest directions
  • Real-time incident reporting to share live and current crimes between users
  • SafeZone features such as live communication between University staff and security

How we built it

  • React Native with Expo for the cross-platform mobile app
  • Google Firebase (Firestore + Auth) for real-time messaging, contact management, SOS alerts, logins and user profiles etc
  • Open Source Routing Machine (OSRM) running locally in Docker (deployable to the cloud in the future) for searching for locations and routing/getting directions that prioritize main streets over residential and side streets
  • UK Police API (data.police.uk) for live street-level crime data, tiled and cached locally for performance
  • Leaflet.js (via WebView) for the interactive map to view the path, reported incidents on the map in real-time and the heatmap overlay

Challenges we faced

The biggest challenge was getting custom routing to work, since many APIs, like Google Maps, require paid subscriptions to influence routing behaviour. Instead, we self-hosted an OSRM (Open Source Routing Machine) instance and wrote a custom profile to prioritise main roads over quiet backstreets. We also implemented a way to avoid crime hotspots by identifying these dangerous areas and ensuring each node of the journey remained outside a predetermined field. Handling the heatmap overlay was also challenging because it required frequent updates when zooming in/out of the map to ensure there were no visual glitches. Real-time messaging and incident reporting were also challenging, so we used Firebase for its speed and reliability.

Accomplishments we're proud of

Establishing a fully self-hosted pedestrian routing engine with a custom safety profile in a hackathon timeframe was a real achievement. With the crime heatmap displayed live on the map, using real data from local authorities, combined with routes that visibly avoided suspicious pathways when compared to Google maps, the safety benefits were made clearly visible. We're also proud of how well the full features seamlessly integrate into one application that is minimalist and simple for users to navigate.

What we learned

We learned a lot about routing services and how they can be manipulated, as well as how routing data can be integrated with Leaflet to display the routes on OpenStreetMap. The integration of authentication, real-time messaging and incident reporting required the use of Firebase, which we explored throughout this project. Bundling all these features into one UI using Expo required us to explore the React Native framework and the integration of various libraries.

What's next?

  • Customizing the level of sensitivity for re-routing, allowing users to choose how much safer they want their routes to be. Users should be able to select different profiles and be able to choose safer routes at night
  • Hands-free mode: Integration with wearables (Apple watches, Google Wear OS) that allows users to follow routes on their watches, get alerts when crossing higher-risk areas and get help (e.g Campus security) - all from their wrist!
  • Expanding beyond London using Geofabrik data for other cities in the UK and eventually other countries
  • Integration of real emergency services and other services
  • Integration with campus security desks, allowing them to respond to alerts and assist students
  • Add an estimated time of arrival so users are informed of how long their journey will take
  • Optimizing backend systems like caching crime data from the police API to avoid excessive API requests
  • Adding a way of seeing multiple different routes, ranging from fastest (but more dangerous) to slowest (which may be safer)

You can try out a live demo in the browser! Use account details: Email: test@example.com Password: password

Use the appetize link below

Built With

Share this project:

Updates