RadioTrace π»π
Inspiration
Public safety radio contains a huge amount of information, but understanding raw radio traffic can be difficult. Between police signal codes, unfamiliar terminology, different locations, and disconnected recordings, it can be challenging to understand what is actually happening.
We created RadioTrace to explore a more intuitive way of presenting publicly available public-safety radio information. Instead of treating radio recordings, codes, and geographic information as separate pieces of data, RadioTrace brings them together through an interactive map. It also fosters communication between the public and the government, whose actions and information is often hidden from the public eye.
What it does
RadioTrace is an interactive public-safety radio visualization platform focused on Atlanta.
The platform combines publicly available and prerecorded radio traffic with contextual information to help users better understand communications and where reported activity relates geographically.
RadioTrace brings together:
- π» Publicly available / prerecorded radio communications
- π¨ Police radio codes and signal definitions
- π Location information
- πΊοΈ An interactive map interface
- π Context surrounding radio communications
Rather than listening to scanner traffic without context, users can explore radio information through a visual, location-based interface.
How we built it
RadioTrace uses a full-stack architecture.
The frontend is built with React, providing the main user interface and interactive map experience.
We use the Google Maps Platform to display geographic information and connect relevant locations with the map.
A Python Flask backend handles requests, processes data, and acts as the bridge between our frontend and external data sources.
Our basic architecture looks like:
Public Radio Data β Flask Backend β Data Processing β React Frontend β Interactive Map
We also created a database of commonly encountered police radio codes and signals so that otherwise cryptic communications can be displayed with additional context.
Challenges we ran into
One of our biggest challenges was working with public-safety radio data because recordings aren't necessarily structured for use in modern applications.
Radio transmissions can contain abbreviations, codes, incomplete location information, and inconsistent metadata, all obfuscated in an audio file. Extracting and connecting those pieces of information to something meaningful on a map required us to think carefully about how information should be processed and displayed.
We also ran into many challenges regarding deployment integration with MongoDB Atlas and using MongoDB for the first time in a production environment. Specifically, getting the database to correctly update, validate schemas, and remain consistent across sessions took several hours to get into a working state, and even longer to refine. Also, choosing a database schema to work with our project when we have only experience with SQL database technologies was hard as well.
We also had to design the application so that a potentially complicated stream of information remained understandable instead of overwhelming the user, which meant selectively choosing which fields actually mattered for relevance and which didn't.
What we learned
Building RadioTrace taught us a lot about connecting very different technologies into a single application, like the no-SQL databases from MongoDB, geospatial data from google maps, parallel pipeline processing of audio from the live radios, and api integration with the LLMs.
We gained experience working with:
- React frontend development
- Python and Flask APIs
- Google Maps and geospatial data
- Public radio datasets
- Data processing and normalization
- API integration
- Full-stack application architecture
More importantly, we learned that presenting data effectively can be just as important as collecting it. Raw information becomes much more useful when it is organized and given geographic and contextual meaning.
What's next for RadioTrace
We would like to expand RadioTrace beyond the initial Atlanta prototype.
Future improvements could include better radio-code interpretation, improved location extraction, historical incident visualization, additional public-safety radio systems, stronger search and filtering tools, and more advanced visualization of patterns over time.
Our long-term goal is to make RadioTrace a useful platform for exploring publicly available public-safety communications through an accessible, map-based interface.
Built With
- crime
- flask
- geospatialdata
- google-maps
- googlemapsplatform
- public-safety
- python
- radio
- react
- realtime
- restapi
- safety


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