Native macOS application for the Mesh Public Safety Platform - providing real-time interoperability intelligence for emergency response agencies in Birmingham, Alabama.
- System status indicator (green/yellow/red)
- Quick view of active incidents and surge alerts
- One-click access to the full dashboard
- Critical notifications
- Live incident feed from police, fire, EMS, and 911
- Filterable by agency type, district, and severity
- Detailed incident information with responding units
- Real-time updates via WebSocket
- MapKit visualization with incident markers
- District boundary overlays
- Color-coded incident pins by agency type
- Click-to-view incident details
- AI-powered call volume analysis
- District-level surge indicators
- Historical trend visualization
- Predictive alerts with confidence scores
- Unified hazard score (0-100)
- Multi-factor breakdown (weather, traffic, incidents, infrastructure, events)
- Historical comparisons
- District-level risk assessment
- macOS 14.0 (Sonoma) or later
- Xcode 15.0 or later (for development)
Install the required development tools:
# Xcode build server for IDE integration
brew install xcode-build-server
# Pretty-print xcodebuild output
brew install xcbeautify
# Code formatting
brew install swiftformat- Install the Swift Language Support extension
- Install the Sweetpad extension
-
Generate the Xcode project (if using XcodeGen):
xcodegen generate
-
Open the project:
open Mesh.xcodeproj
-
Build and run (⌘+R)
- Open the project folder in Cursor
- Run
Sweetpad: Generate Build Server Configfrom the command palette - Build once to enable autocomplete and jump-to-definition
- Press F5 to build and run with debugging
mesh-macos/
├── Mesh/
│ ├── App/ # App entry point and configuration
│ │ ├── MeshApp.swift # Main app with menu bar + window
│ │ ├── AppDelegate.swift # App lifecycle and notifications
│ │ ├── AppState.swift # Global app state management
│ │ └── ContentView.swift # Main content view
│ ├── Features/
│ │ ├── Dashboard/ # Incident dashboard
│ │ ├── Map/ # MapKit visualization
│ │ ├── SurgePrediction/ # Surge analysis
│ │ ├── HazardAnalysis/ # Hazard scoring
│ │ └── MenuBar/ # Menu bar popover
│ ├── Core/
│ │ ├── Networking/ # API client and WebSocket
│ │ ├── Models/ # Data models
│ │ └── Services/ # Notification and location services
│ ├── Shared/
│ │ └── Components/ # Reusable UI components
│ └── Resources/
│ └── Assets.xcassets # App icons and colors
├── Package.swift # Swift Package manifest
├── project.yml # XcodeGen project definition
└── README.md
- UI Framework: SwiftUI with macOS 14+ features
- State Management: Observable with @Observable and @EnvironmentObject
- Networking: Async/await with URLSession
- Real-time Updates: WebSocket via URLSessionWebSocketTask
- Maps: MapKit with SwiftUI integration
- Charts: Swift Charts for data visualization
- Notifications: UserNotifications framework
The API endpoint is configured in Core/Networking/APIClient.swift. Update the baseURL for your environment:
self.baseURL = URL(string: "https://api.mesh-platform.com/v1")!WebSocket connection is configured in Core/Networking/WebSocketService.swift:
private let baseURL = URL(string: "wss://api.mesh-platform.com/ws")!- Type, description, severity
- Agency information
- Location (coordinates and address)
- Responding units
- Status updates
- District information
- Current vs expected call volume
- Trend direction
- Contributing factors
- Overall score (0-100)
- Component breakdown
- District-level scores
- Historical comparison
Proprietary - Mesh Platform 2025
- Email: thabheloduve@gmail.com
- Location: Birmingham, Alabama