HuskySafe
Inspiration
Campus safety information is scattered across UW Alerts, social media, and word-of-mouth. Students lack a single place to see real-time incidents, report concerns, and plan safe routes. We built HuskySafe to centralize safety information and make it actionable.
What it does
HuskySafe is a real-time safety app for UW students with three core features:
- Live Safety Map - Interactive map showing real-time incidents with severity levels, category filters, and proximity warnings
- AI-Assisted Reporting - Chat-based incident reporting powered by Claude AI that guides users through the process
- Smart Route Planning - AI-generated safe routes that avoid active incidents, use indoor corridors, and consider historical risk data
The app aggregates data from UW Alerts, Reddit, Twitter, and student reports to create a community-driven safety network.
How we built it
Frontend:
- React 18 + TypeScript + Vite for fast development
- shadcn/ui components (Radix UI) + Tailwind CSS for beautiful, accessible UI
- React Router v6 for navigation
- React Query for state management
- Mobile-first responsive design
Backend:
- Express.js proxy server (port 3001) to handle Claude API calls and avoid CORS
- Environment-based API key management
AI Integration:
- Claude API (Anthropic) for:
- Conversational incident reporting assistance
- Safe route recommendations based on active incidents and preferences
Data Architecture:
- In-memory database with TypeScript interfaces
- Mock data for incidents, users, reports, buildings, and routes
- Structured data models ready for backend integration
Key Features:
- Real-time incident tracking with severity levels (1-5)
- Multi-source attribution (UW Alert, Reddit, Twitter, Student Reports)
- Timeline tracking for incident updates
- User preferences and notification settings
- Anonymous reporting options
Challenges we ran into
- CORS issues with Claude API - Solved by creating an Express proxy server to handle API calls server-side
- Real-time data aggregation - Designed a flexible data model to handle multiple sources with different formats
- AI conversation flow - Iterated on prompts and conversation logic to extract structured incident data from natural language
- Mobile UX - Balanced information density with usability on small screens using bottom sheets and compact cards
- Safety color system - Created a semantic color system (critical, warning, caution, safe) that works across severity levels and categories
Accomplishments that we're proud of
- ✅ AI integration - Working conversational interface for incident reporting
- ✅ Multi-source aggregation - Unified view of incidents from different sources
- ✅ Safety-first design - Color-coded severity system and clear visual hierarchy
- ✅ Complete user flow - Onboarding through reporting to route planning
- ✅ Type-safe architecture - Full TypeScript coverage for maintainability
- ✅ Mobile-first UI - Responsive design with bottom navigation and sheet modals
What we learned
- AI prompt engineering - How to structure system prompts for consistent, helpful AI responses
- Proxy server architecture - Building backend proxies to handle API keys securely and avoid CORS
- Safety UX patterns - Designing interfaces that convey urgency without causing panic
- Data modeling - Structuring incident data to support filtering, aggregation, and real-time updates
- Component composition - Using shadcn/ui for consistent, accessible components
What's next for HuskySafe
Short-term:
- Real map integration (Google Maps/Mapbox) with actual incident markers
- Push notifications for nearby incidents based on user preferences
- UW NetID authentication integration
- Real-time data sync with UW Alert system
Medium-term:
- Machine learning to predict high-risk areas based on historical data
- Indoor navigation for building-to-building routes
- Integration with UWPD systems for verified incident data
- Social features: community safety tips and verified user reports
Long-term:
- Expansion to other universities with customizable campus data
- Integration with campus security cameras (with privacy controls)
- Emergency response coordination features
- Analytics dashboard for campus safety administrators
Technical improvements:
- Replace in-memory database with PostgreSQL/MongoDB
- Real-time WebSocket connections for live incident updates
- Offline mode with cached incident data
- Performance optimizations for large-scale deployment
Built with ❤️ for the UW community
Built With
- claude-api
- express.js
- javascript
- node.js
- radix
- react-native
- typescript

Log in or sign up for Devpost to join the conversation.