A women's safety app using wearable cameras (HoloLens/Ray-Ban Meta glasses) + iOS app to detect threats via AI and trigger automatic emergency responses.
Built for HackViolet 2026 at Virginia Tech.
Violet Guardian combines wearable camera technology with an iOS companion app to provide real-time safety monitoring and emergency response capabilities. The system uses AI to analyze video feeds from smart glasses, detect potential threats, and automatically trigger emergency protocols.
This project follows Clean Architecture with MVVM pattern for scalability and testability:
Hackviolet_2026/
├── Application/ # App entry point, DI container, environment config
│ ├── AppDelegate.swift
│ ├── DependencyContainer.swift
│ └── Environment.swift
├── Core/ # Shared utilities, extensions, protocols
│ ├── Extensions/
│ ├── Protocols/
│ └── Utilities/
├── Domain/ # Business logic (pure Swift, no dependencies)
│ ├── Entities/
│ ├── Errors/
│ ├── RepositoryInterfaces/
│ └── UseCases/
├── Data/ # Data layer implementation
│ ├── Mappers/
│ ├── Network/
│ ├── Repositories/
│ └── Services/
└── Presentation/ # UI layer (SwiftUI + ViewModels)
├── Common/
├── Scenes/
└── MainTabView.swift
| Layer | Responsibility |
|---|---|
| Domain | Pure business logic, entities, use cases, repository protocols |
| Data | Repository implementations, networking, services, mappers |
| Presentation | SwiftUI views, ViewModels, UI state management |
- Separation of Concerns: Each layer has a single responsibility
- Testability: Business logic isolated from frameworks
- Scalability: Easy to add features without affecting existing code
- No Domino Effects: Changes in one feature don't cascade to others
- Real-time safety status monitoring
- "Walk With Me" escort mode
- Emergency trigger button
- Status card with danger level indicator
- Color-coded zone overlays (green/yellow/red)
- Interactive zone rating system
- MapKit integration with user location
- 49 safety zones covering Blacksburg area
- Safety assistance and tips
- Incident reporting
- Quick action buttons
- Simulated AI responses (ready for backend integration)
- Emergency contacts management
- Notification settings
- Location sharing toggle
- Full-screen red alert
- "Recording Evidence" simulation
- Flashing visual indicator
Based on the Product Requirements Document:
- ✅ Polling Engine (1-second interval heartbeat)
- ✅ Dynamic Map with Color Quadrants
- ✅ Haptic Feedback (caution/threat/emergency patterns)
- ✅ Audio Playback Service
- ✅ Emergency "Black Box" Mode
- ✅ Walk With Me escort feature
- ✅ Status Card with danger levels
- ✅ Data models matching backend API
- iOS: SwiftUI, MapKit, CoreLocation, AVFoundation
- Architecture: Clean Architecture + MVVM
- Dependency Injection: Custom DI Container
- Concurrency: Swift async/await
- Backend: Python (separate repo)
- AI/ML: Computer vision for threat detection
- Voice AI: ElevenLabs API integration ready
# Clone the repository
git clone https://github.com/YOUR_USERNAME/Hackviolet_2026.git
cd Hackviolet_2026
# Open in Xcode
open Hackviolet_2026.xcodeproj
# Build and run (⌘R)- iOS 17+
- Xcode 15+
- Swift 5.9+
The architecture makes adding features straightforward:
- Create Entity in
Domain/Entities/ - Define Repository Protocol in
Domain/RepositoryInterfaces/ - Create Use Case in
Domain/UseCases/ - Implement Repository in
Data/Repositories/ - Create ViewModel in
Presentation/Scenes/YourFeature/ - Create View in
Presentation/Scenes/YourFeature/ - Register in DependencyContainer
Built for HackViolet 2026 at Virginia Tech.
This project is created for HackViolet 2026. All rights reserved.