Syren
Inspiration
Air traffic tracking tools offer a window into the sky, but traditional radar visualizations leave non-experts guessing about squawk anomalies, emergency statuses, and flight behaviors. We set out to bridge the gap between complex ADS-B telemetry and actionable intelligence. Syren was born from the idea that anyone should be able to view real-time and historical flight data paired with instantaneous, context-aware AI explanations.
What it does
Syren is a real-time and historical flight tracking platform with an integrated AI copilot:
- Live & Replay Mapping: Stream live airspace traffic or replay target historical dates using high-efficiency binary search snapshotting.
- Anomaly Detection: Highlight emergency squawk codes and flight irregularities automatically using visual alerts.
- AI Copilot (Gemini): Select any aircraft to trigger an instantaneous analysis that breaks down state metrics, flight trajectory, and anomalies into structured insights.
- Data Export: Export airspace snapshots and historical flight traces for custom analytical workflows.
How we built it
- Frontend: Built with React and TypeScript (
src/App.tsx), utilizing Deck.GL for high-performance canvas rendering of active aircraft icons and trajectory traces. - Backend Adapter: Powered by Python, featuring a live data adapter (
backend/live_adapter.py) that filters, normalizes, and flags stale position data. - Replay Engine: Implemented in
backend/replay.pyandbackend/history.pyto dynamically fetch archive datasets from GitHub releases and compute instantaneous airspace states using binary search (bisect) over timestamped arrays. - AI Analysis Pipeline: Integrates Gemini 3.8 Flash (
backend/gemini.py) via a background thread job-polling architecture to analyze JSON flight states without blocking client requests.
Challenges we ran into
- Strict Prompt Constraints: Engineering the Gemini prompt to return structured plain-text insights while handling missing parameters cleanly without outputting invalid markdown formatting.
- Handling High-Volume Telemetry: Sorting and filtering large historical datasets required optimizing memory usage and implementing windowed lookups (
GONE_AFTER_S) to render smooth replays without lag. - Asynchronous Polling: Preventing HTTP timeouts during AI generation required building an asynchronous job queue with progress-polling endpoints on the backend.
Accomplishments that we're proud of
- Seamlessly rendering thousands of airborne aircraft concurrently on Deck.GL with custom visual alert triggers.
- Achieving near-instantaneous flight state reconstruction from raw historical archives using optimized binary search algorithms.
- Successfully stitching live telemetry, replay history, and multi-threaded AI analysis into a single responsive dashboard.
What we learned
- Strategies for constraining LLM outputs to rigid structural formats while preserving natural-language explanatory power.
- Techniques for managing high-frequency spatial datasets and real-time state normalization in Python backend pipelines.
- Practical pattern design for decoupling heavy background tasks from frontend client UI loops.
What's next for Syren
- Ground Aircraft Support: Incorporate ground-tracked aircraft and airport taxi operations into the map interface.
- Enhanced Export Feedback: Hook intermediate progress tracking directly to the export UI for granular progress feedback.
- Multi-Aircraft Comparison: Allow users to select multiple aircraft simultaneously to evaluate airspace congestion, formation flights, and proximity warnings.

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