Inspiration

Inspired by the experiences of women around us and our own experiences, we realized that walking home at night isn’t always as safe as it seems. Current map apps prioritize the fastest route, but rarely account for how well-lit or safe that route actually is.

What it does

Polaris is a website that helps people find the best-lit routes home. Unlike current map apps that overlook lighting conditions, Polaris combines streetlight placements, light outages, and street closures to help users navigate safer routes, not just faster ones.

How we built it

We built the frontend in JavaScript, HTML and CSS as a plain web page with no build step, using MapLibre GL to draw the map. The data pipeline and routing server are written in Python, using FastAPI, osmnx and networkx. For light sources we combined the SFPUC Streetlights map, which has 24,802 city-owned lamps, with streetlight points from OpenStreetMap, merging any lamps within 5 m of each other for 25,902 lamps in total. Light outages come from open 311 “streetlight burnt out” reports on DataSF, each matched to the nearest lamp within 30 m. Streets come from OpenStreetMap’s walking network for San Francisco: 54,183 intersections and 162,476 street segments, each scored for how well it’s lit. Address search uses Nominatim, OpenStreetMap’s geocoder, limited to San Francisco, and the base map is CARTO Dark Matter recolored to a night palette. We used GitHub for version history and sharing, and Claude Code, an AI coding agent, to find and process the datasets, build the frontend and backend, debug, and test in a live browser.

Challenges we ran into

One challenge we faced was getting the routing system to work on one teammate’s computer due to missing dependencies and setup issues. We had to troubleshoot and debug the environment before getting it to work. We also struggled to make Polaris stand out from existing map apps, so we focused on using streetlight placements, light outages, and street closures to create a more safety-focused routing experience.

Accomplishments that we're proud of

We’re proud to have built a website with a clean, user-friendly interface that does what we set out to accomplish. Most importantly, we created a practical safety tool that’s relevant to our community and that we would genuinely use ourselves.

What we learned

One of us learned to code for the first time, including how to collaborate through GitHub, push and pull code, and connect tools like GitHub for version control and Claude for coding. Our other teammate learned how to find and work with San Francisco-specific datasets and use Claude to build projects while understanding the code it generates. We also learned how the A* pathfinding algorithm can be used to find optimal routes.

What's next for Polaris

Moving forward, we hope to expand Polaris to other cities, add safety-focused routing for cars, bikes, and public transportation, and improve the overall navigation experience with features similar to Google Maps. Our goal is to make safer navigation accessible to more people, wherever they go.

Built With

Share this project:

Updates

Submission history