1st place, CuseHacks 2024

WalkSafe

A safety app for walking around Syracuse. It routes you around crime hotspots, shows your family on a live map, and tells them when you get home.

Data
8,346 Syracuse police reports
When
March 2024
Platform
iOS and Android, built with Expo
Stack
React Native, Expo, Supabase, Flask, Pandas, Google Maps
Problem
Map apps find the fastest walk home. They don't know which blocks have the most reported crime.
Solution
A mobile app that scores 8,346 Syracuse police reports by severity and reroutes walks around the worst spots, with live family tracking on top.
Result
Won 1st place at CuseHacks 2024, Syracuse University's hackathon.

See it working

An 18-second walkthrough of the app.

The problem

Students walk around Syracuse at all hours, often alone. Google Maps will give them the shortest walk, but it has no idea which streets have the most reported crime, and nobody at home knows when they arrive.

WalkSafe tackles both in one app:

  • a crime heatmap and a safer walking route,
  • a live map of friends and family,
  • an automatic “I'm home” notification,
  • crime alerts reported by other users.

Mapping the risk

The backend starts from 8,346 incident reports from the Syracuse Police Department's open crime data. Not every report is equally worrying, so each type of crime gets a weight, from 2 for larceny up to 50 for kidnapping. Every address is scored by adding up the weights of everything reported there.

Reports by type, and the weight each one carries
TypeReportsWeight
  • Simple assault2,5825
  • Criminal mischief2,3215
  • Offence against family1,2255
  • Larceny5352
  • Dangerous weapons48410
  • Drug possession21110
  • Burglary19910
  • Vehicle theft1212
  • Kidnapping3350

Nine of the 24 crime types in the data.

The scored reports are split into three tiers, which the app draws as layered heatmaps:

Low
6,688reports at lightly scored addresses
Medium
1,172reports at the hotspots routing avoids
High
486reports at the highest-scoring addresses

Safer routes

Type a destination and WalkSafe plans the walk in four steps.

  1. Ask for the normal walk

    The Flask backend asks the Google Directions API for a walking route from where you are to where you're going.

  2. Find the hotspots on the way

    It decodes the route's polyline and checks which medium-risk crime locations fall inside it, using a point-in-polygon test.

  3. Swap them for safer stops

    Each hotspot is replaced by the nearest of 20 hand-picked safer waypoints around Syracuse, capped at 25 because that's Google's waypoint limit.

  4. Route again and compare

    Google re-plans the walk through those waypoints. The app draws both lines, the fastest and the safer one, so you can choose.

WalkSafe map of downtown Syracuse with crime heatmap dots while a destination is typed
Searching for a destination over the crime heatmap.

Family and check-in

While the app is open, each phone sends its location to Supabase every 5 seconds, and the map refreshes family members and alerts every 10 seconds. Family members show up as avatars on the same map.

Turn on check-in and you never have to text “home safe”. Once you're within 100 metres of your saved home location, your family gets a push notification: “Hemant has reached home”.

Two phone screens: a 'has reached home' notification over the heatmap, and a family member's avatar on the Syracuse University map
Left: the check-in notification. Right: a family member on the live map.

Crime alerts

Police data only covers what has already been filed. For what's happening right now, anyone can report an incident (larceny, assault, vandalism, theft or other) at their current location. It appears on everyone's map with a warning marker and how long ago it was reported.

Two phone screens: the report form with incident types, and an 'assault, less than a minute ago' marker on the map
Reporting an incident, and how it shows up for everyone else.