SkySpy is an enterprise-grade, real-time ADS-B aircraft tracking and monitoring platform built for enthusiasts, researchers, and aviation professionals.
π― What is SkySpy?
SkySpy captures position data from 1090MHz Mode S and 978MHz UAT receivers, displays aircraft on an interactive map, monitors safety conditions, and provides advanced features like custom alerts, weather integration, ACARS message decoding, and push notifications.
π
Deployment Flexibility
SkySpy is designed to run on hardware ranging from Raspberry Pi edge devices to enterprise server infrastructure, with configuration profiles optimized for each deployment scenario.
β¨ Key Capabilities
Capability
Description
Status
π Real-Time Tracking
Sub-second aircraft position updates with distance, altitude, speed, and climb rate calculations
β
π₯οΈ Interactive Dashboard
Canvas-based radar display with multiple visualization modes including CRT phosphor effects
flowchart TD
A["π‘ ADS-B Receiver<br/>(Ultrafeeder)"] --> B["π JSON API Endpoint<br/>/tar1090/data/aircraft.json"]
B --> C["βοΈ Celery Task<br/>poll_aircraft"]
C --> D["β‘ Update Redis Cache<br/>(live aircraft state)"]
C --> E["π’ Broadcast via<br/>Socket.IO"]
C --> F["πΎ Store to PostgreSQL<br/>(periodic snapshots)"]
D --> G["π₯ Connected Clients"]
E --> G
subgraph clients["π± Clients"]
G1["βοΈ Web Dashboard<br/>(React)"]
G2["π₯οΈ CLI Client<br/>(Go)"]
G3["π± Mobile Apps"]
end
G --> clients
π¨ Safety Event Detection
flowchart TD
A["βοΈ Aircraft Position Update"] --> B["π Safety Monitoring Service"]
B --> C{"π¨ Check Emergency<br/>Squawks 7500/7600/7700"}
B --> D{"π Calculate Proximity<br/>to Other Aircraft"}
B --> E{"π Analyze Vertical<br/>Speed Changes"}
B --> F{"β οΈ Detect TCAS<br/>Alerts"}
C --> G{"Event Detected?"}
D --> G
E --> G
F --> G
G -->|Yes| H["πΎ Create SafetyEvent Record"]
H --> I["π’ Broadcast via Socket.IO"]
I --> J["π Trigger Notifications<br/>(if configured)"]
π Alert Rule Processing
flowchart TD
A["βοΈ Aircraft Update Received"] --> B["π Alert Rule Cache<br/>(Redis)"]
B --> C["π Evaluate Each Active Rule"]
C --> D["π Parse AND/OR Conditions"]
D --> E["β Check Field Values<br/>Against Thresholds"]
E --> F["β±οΈ Apply Cooldown Logic"]
F --> G{"Rule Matches?"}
G -->|Yes| H["πΎ Create AlertHistory Record"]
H --> I["π€ Dispatch Notifications"]
I --> J["π’ Broadcast via Socket.IO"]
π Key Features Summary
βοΈ Aircraft Tracking
π Real-time position updates from 1090MHz and 978MHz receivers
π Support for multiple receiver sources (Ultrafeeder, dump978)
π Distance and bearing calculation from receiver location
β±οΈ Session management with first/last seen timestamps
π·οΈ Aircraft type classification (commercial, military, private, etc.)
π₯οΈ Interactive Dashboard
πΊοΈ Canvas-based map with multiple rendering modes
π CRT radar mode with sweep animation
π Aircraft detail panels with registration, operator, and photo