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:

  1. Live Safety Map - Interactive map showing real-time incidents with severity levels, category filters, and proximity warnings
  2. AI-Assisted Reporting - Chat-based incident reporting powered by Claude AI that guides users through the process
  3. 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

  1. CORS issues with Claude API - Solved by creating an Express proxy server to handle API calls server-side
  2. Real-time data aggregation - Designed a flexible data model to handle multiple sources with different formats
  3. AI conversation flow - Iterated on prompts and conversation logic to extract structured incident data from natural language
  4. Mobile UX - Balanced information density with usability on small screens using bottom sheets and compact cards
  5. 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

Share this project:

Updates