Skip to content
API Credits + Cash

TerpWalk

An AI-powered website that helps women find the safest route to get from point A to point B at any time of the day.

Core trick

Valhalla pedestrian routing returns up to four alternates, and Claude scores each route's safety from blue-light proximity and parking-lot exposure.

Tags

Built with

express.jsfrontend-vanillageocoding-nominatimjavascriptjsonleaflet.jsnode.jsrouting-valhalla

Description

Who You Built This For and Why They Need It We built this for students on UMD's campus, specifically women who walk alone at night and have no good tool to make that a safer experience. The existing resources (blue emergency lights, campus alerts) are spread out and sometimes hard to notice. They exist but you have to already know where they are, already feel unsafe, already be in danger. TerpWalk flips that, it's proactive. It routes you toward safety before anything goes wrong. The target user is any woman who has ever texted a friend "I'm walking back from McKeldin, I'll let you know when I'm home", which is a common experience for many. How You Used Claude / AI We used claude for the safety score reasoning. Claude analyzes a route and generates a safety score out of 100 based on it's own knowledge of number of blue lights you are passing or whether you are walking through a parking lot. Also with our heatmap, when users submit an unsafe area report, Claude categorizes and summarizes it so the heatmap stays updated. Claude also analyzes two different routes and shows the original route in red versus the safer route in green so you can tell the difference. Even if the original route is faster, the alternative route is safer. What Could Go Wrong and How You Addressed It Safety score was where we had a lot of issues. Even though our website was routing us through parking lots which are considered unsafe areas, we were getting safety scores of 90+/100 which was very inaccurate and could be misleading. We addressed by it by feeding Claude data on major parking lots around campus and to identify those areas as unsafe. This helped produce more optimal routes. What You'd Build Next With More Time With more time, we would like to develop this into an app. This will make it easier for user to use and will be more convenient because they can access it simply from their phones. We also wanted to add a feature where you can add an emergency contact and if you start your walk and are idle for more than the time it was supposed to take for you to get to that specific destination, it would send an alert to your emergency contact. This would add another layer of safety.
skochar19/TerpWalk★ 01 forksJavaScriptCreated Apr 24, 2026 · last push Apr 24, 2026

README excerpt

# TerpWalk 🐢

Built for the **Anthropic x University of Maryland Hackathon**.

TerpWalk is a campus safety app designed to help women feel safer walking — especially at night. It consolidates all of UMD's existing safety resources (emergency blue lights, campus police, safe routes) into a single, easy-to-use map so students never have to search multiple places for the information they need.

## Features

- **Route planning** — Find pedestrian routes between any two points on campus using Valhalla routing (follows footways, campus paths, and sidewalks)
- **Multiple routes** — Up to 4 alternate routes ranked by a safety score based on proximity to emergency blue lights
- **Emergency blue lights** — All UMD blue light phones shown on the map as a toggleable layer
- **Safety heatmap** — Visual overlay of community-reported incidents and unsafe areas
- **Community pins** — Report unsafe spots, broken lights, or safe locations; upvote existing reports
- **Walk timer** — Built-in timer with reminders to check in at blue light stations every 5 minutes
- **Location search** — Search by building name or address, with UMD-aware geocoding fallbacks

## Tech Stack

| Layer | Technology |
|---|---|
| Backend | Node.js + Express |
| Frontend | Vanilla JS + Leaflet.js |
| Routing | [Valhalla](https://valhalla.github.io/valhalla/) (OpenStreetMap) |
| Geocoding | [Nominatim](https://nominatim.openstreetmap.org/) (OpenStreetMap) |
| Data | Local JSON file (`data/pins.json`) |

## Getting Starte

Team