Project Info
This project did not submit a demo video on Devpost.
Inspiration
Various airline accidents happen due to difficulty in coordinating between pilots and air traffic control. We wanted to make communication easier and more automated to aid air traffic controllers in spotting abnormalities in air traffic earlier.
What it does
By ingesting thousands of historical flights, we define safe corridors through machine learning. We then continuously monitor live flights and radio frequencies, ensuring that outliers are caught before they shape into actual emergencies.
How we built it
ADSB Flight Data and VHF voice data requires ingesting massive amounts of data, especially when scaled to multiple regions. To ensure this is scalable, we use Kafka as a backbone for our data processing pipeline. To quickly iterate and prototype, we chose to wrote this project in Python, but should consider rewriting it in a higher performance programming language, which comes with benefits such as parallel processing.
Challenges we ran into
To transcribe air traffic control speech, our team utilized a fine-tuned model of whisper. Although this version was better than the original whisper model, air traffic control radio is often filled with static and hard-to-hear speakers, so transcribing was a challenge. To aid whisper, we chunked the data into sections where someone was the speaker and static, so whisper could focus on transcribing the most important parts of the audio.
Accomplishments we're proud of
Being able to get interactive visualizations of flight paths and to have a clustering algorithm to find common flight paths and abnormalities was great. We are also happy to be able to not only transcribe air traffic control data, but also predict if the tower or pilot was speaking based on the context of the words.
What we learned
Throughout our experience, we learned how complex flight data could be, with a combination of slight deviations in flight paths based on the situation and difficult-to-hear air traffic control. However, with this complex system also comes appreciation for the various people and systems that make air travel one of the safest modes of transportation. Through these systems, we learned more about how to use multiple libraries in conjunction with each other, such as whisper with a text classifier and ultimately with Kafka.
What's next
ATCMonitor would benefit from being fully connected at every part of the workflow, from taking path data to clustering and processing audio data. When combining these data together, we can get a powerful prediction of when things go wrong and are able to alert the proper controllers to resolve the situation and keep the skies safe. By having this system run live in airports across the world, we can help air traffic controllers catch mistakes that may slip and ensure the safety of all flights.
atcmonitor
ATCMonitor is a tool for creating visual maps of what air traffic controllers are doing. It is designed to help visualize the flow of air traffic and the activities of air traffic controllers in a given area.
Features
- Visualize air traffic controller activities
- Create maps of air traffic control operations
- Log and analyze air traffic data, including VHF and ADS-B data
- Support for multiple data sources
- Validate and process air traffic data, alerting controllers to potential issues
Screenshots
KSFO (San Francisco International Airport)
Tracks
Visual representation of aircraft tracks around San Francisco International Airport (KSFO).

Darker lines indicate commonly used flight paths, while lighter lines represent less frequently used paths.
Clustering
To determine when an aircraft is on a common flight path, the tool clusters aircraft tracks. This helps in identifying patterns and common routes taken by aircraft.

Blue indicates high precision, while red indicates low precision but very frequent paths. Generally, red regions signal departure and arrive coordination by air traffic controllers or pilots, while blue regions are used for high precision, en route traffic.
Rules can then be written to alert controllers when aircraft deviate from these common paths, helping to maintain safety and efficiency in air traffic control operations. By default, aircraft within 5-mile radius of an airport must be within a valid cluster; otherwise an alert is generated.
Credits
This repository uses dump1090 for decoding live ADS-B data and RTLSDR-Airband for decoding live VHF data.
Historical data is provided by the OpenSky Network, which offers a large dataset of air traffic control data.
Analysis
View
Metric
- 7
- 2
- 1
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- PythonIn code
- DockerClaimed
1 of 2 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
58 KB
Source files
19
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
twangodev/atcmonitor
29 files · 15.9 MB · @ 8d24694
Structure
Application logic
23 files · 79%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python95%
- Markdown3%
- YAML2%
Share of indexed source by file size. Binary and vendored files are excluded.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.