DawgWalk — Safer Night Walks for UW Students
Inspiration
Walking home at night around UW can feel uncertain, and traditional map apps don't factor in safety. Students still rely on "text me when you get home," which is inconsistent and easy to forget. We wanted a tool built specifically for Huskies — something that prioritizes safety, adds real context, and provides genuine peace of mind. That’s how DawgWalk started.
What It Does
DawgWalk recommends the safest walking route, not just the fastest.
Our system analyzes:
- Multiple Google walking routes
- Weather visibility and conditions from WeatherAPI
- Basic risk factors like route length, lighting, and environmental conditions
The app returns:
- A Safety Score (0–100)
- Safety tags with short explanations
- ETA and distance
- A visualized safest route on the map
How We Built It
Frontend (React Native + TypeScript)
- Map view with polylines for each route
- Clean, intuitive UI optimized for quick decision-making
- Real-time updates from backend APIs
Backend (Python + Flask)
- Google Directions API for route candidates
- WeatherAPI for visibility and weather data
- Custom safety scoring engine that:
- Decodes and samples route polylines
- Computes safety metrics from conditions
- Ranks and returns the safest option
/safe-routeendpoint provides full route, score, and tags
Challenges
- Finding reliable, free visibility data and converting it into actionable scores
- Debugging inconsistent Google Maps route outputs and API key restrictions
- React Native map inconsistencies across devices
- Limited time for integrating UW Alerts and campus callbox datasets
Accomplishments
- Built a fully functional MVP with real routing, real weather checks, and a custom scoring algorithm
- Designed a modular backend that’s easy to extend with future datasets
- Delivered a clean, smooth mobile UI
- Created something meaningful for the UW community — an app we would actually use
What We Learned
- How to unify multiple APIs into a single scoring model
- How to design modular, fast endpoints for mobile clients
- How to prioritize core features under tight time constraints
- That even simple context (like visibility) can meaningfully improve perceived safety
What’s Next
Short-Term
- Integrate UW Alerts and emergency callbox datasets
- Add Seattle crime heatmap layers
- Implement Live Companion Mode and auto-notify arrival
Long-Term
- Community-sourced safety reports
- Predictive risk modeling using historical data
- Partnering with UW safety programs
- Expanding to other campuses and cities
Built With
- api
- apis
- backend
- candidates)
- communication
- conditions)
- curl
- decoding
- devops
- directions
- environments
- external
- flask
- flask-cors
- for
- foundation)
- frontend
- git
- github
- library
- mapbox/polyline
- maps
- native
- polyline
- polylines)
- python
- python-socketio
- react
- real-time
- route
- routes)
- server)
- services
- testing
- tools
- typescript
- venv)
- virtual
- visibility
- visualization)
- walking
- weather
- weatherapi
Log in or sign up for Devpost to join the conversation.