Inspiration
Late-night walks across the UW-Madison campus can be stressful, especially when choosing between the shortest path and the safest one. Traditional GPS apps prioritize speed, but they don't account for lighting quality, crowd levels, or the specific safety concerns of a student at 3:00 AM. We built Stride to give students a navigation tool that actually understands the campus environment after dark.
What it does
Stride is a custom navigation engine that provides four distinct routing modes: Fastest, Safe, Calm, and Eco. Beyond just drawing a line on a map, Stride uses a custom-weighted Dijkstra algorithm to prioritize well-lit and populated paths. Most importantly, it integrates Gemini 3 Flash to generate real-time, route-specific safety tips—like reminding a student to use the Chemistry Building shortcut or stay near the well-lit dorms.
How we built it
Backend: A Java-based engine deployed on Google Cloud Functions, utilizing a custom graph of 15+ campus buildings and dozens of street intersections.
Frontend: A modern React application featuring a high-performance "Dark Mode" UI and custom-styled Google Maps integration.
Routing: A hybrid system that combines our custom Dijkstra algorithm for logical weighting with the Google Maps Directions API for precise, street-snapped walking paths.
Challenges we ran into
The biggest hurdle was that the marker icons were floating in Lake Mendota because our initial coordinates didn't match the Google Maps projection. We also faced significant "Handshake" issues between the Java backend and the React frontend, requiring a custom node-mapping system to ensure the AI and the pathfinding engine were speaking the same language.
Accomplishments that we're proud of
The Hybrid Routing Engine: Successfully bridging custom Java logic with Google's real-world street data to create paths that follow actual Madison sidewalks.
UI/UX: Transforming a "broken" raw text interface into a professional, dark-themed dashboard in a few minutes.
What we learned
We learned the hard way that Geospatial data is precise; even a small error in the fourth decimal place of a longitude coordinate can put your user in a lake. We also gained deep experience in managing API permissions, handling asynchronous cloud functions, and the importance of standardizing IDs across a full-stack application.
What's next for Stride
We want to expand Stride to include real-time WiscAlert integration, so the app can automatically re-route students away from active police or fire incidents. We also hope to add a "Social Walk" feature where students can opt-in to see if others are walking the same route, allowing them to travel in groups for added safety. Also Adding a feature where we get live data would be even better than the current weighting system.
Log in or sign up for Devpost to join the conversation.