A "Shazam for Planes" that turns raw telemetry into live Air Traffic Control commentary.
Have you ever looked up at a plane and wondered, "Where is that going?" or "What is the pilot doing right now?"
AI Flight Spotter answers those questions by fusing real-time ADS-B telemetry with Generative AI. It tracks aircraft over Rochester, NY (ROC), decodes their airline identity, and uses a Large Language Model (LLM) to generate a "sports commentator" style narration of the flight's current maneuver.
- 📡 Live Telemetry Tracking: Consumes real-time data (Altitude, Velocity, Vertical Rate, Heading) from the OpenSky Network API.
- 🎙️ AI Commentary Agent: A custom-prompted LLM (via OpenRouter) analyzes flight physics to infer context (e.g., "rapid descent," "holding pattern") and generates a fun, expert-level narration.
- 🗺️ Interactive Geospatial Interface: Built with Folium, featuring dynamic markers that rotate based on aircraft heading.
- 🆔 Airline Decoder: Custom logic to identify carriers (Delta, Southwest, FedEx) based on ICAO callsign prefixes.
- ⚡ Stability-First Design: Implements a "Manual Scan" architecture to prevent API rate-limiting and ensure a glitch-free user experience.
- Frontend: Streamlit (Python)
- Geospatial: Folium, Streamlit-Folium
- Data Source: OpenSky Network API (REST)
- AI/LLM: OpenRouter API (Accessing Gemini 2.0 Flash / Llama 3)
- Deployment: Streamlit Cloud
- Ingestion: The app queries the OpenSky API for a bounding box around the Greater Rochester International Airport.
- Processing: * Filters for valid lat/lon data.
- Decodes ICAO callsigns to human-readable Airlines (e.g.,
SWA->Southwest).
- Decodes ICAO callsigns to human-readable Airlines (e.g.,
- Visualization: Plots aircraft on a Leaflet map.
- Analysis (The "AI" Step): * User selects a target plane.
- System constructs a prompt with physics vectors (
Vertical Rate: -1500 ft/min). - LLM returns a narrative explanation ("Flight is on final approach for Runway 22").
- System constructs a prompt with physics vectors (