Aviation data / live aircraft tracking

Live Aircraft Tracking Map & Real-Time Mapbox Application

Live Aircraft Tracking Map & Real-Time Mapbox Application

Overview

I designed and developed a live global aircraft-tracking application for an aviation data platform. The objective was to replace and substantially expand an existing radar experience with a responsive Mapbox GL JS application connected to real-time flight APIs and capable of exposing a large aircraft database through a custom interactive interface.

The project progressed from an initial proof of concept to a fully functional application that was subsequently integrated by the client's engineering team into its production platform. The final system combined live aircraft visualization, search and filtering, aircraft and airport interfaces, fleet functionality, responsive mobile behavior, and custom cartographic styling.

Challenge

The central challenge was combining real-time geographic scale, API architecture, and a dense application interface within one responsive map experience.

The system was designed around peak in-flight volumes of approximately 15,000 aircraft, with geographic positions refreshed repeatedly through the client's APIs. Making this amount of live data usable required close coordination with the client's internal engineering and database team so that the API structure could support both efficient global rendering and detailed aircraft-level interaction.

At the same time, the map had to function as a complete product rather than as a passive visualization. Users needed to search and filter aircraft, inspect individual flights, navigate fleet information, interact with airports, switch between map modes, and access detailed aviation data without losing geographic context.

Solution

The resulting interactive map application rendered live aircraft across a custom global Mapbox environment and provided several ways to explore the underlying data.

Aircraft were represented with custom class-specific symbols and differentiated according to aircraft category and relative scale. Users could filter traffic by aircraft class, search for individual aircraft, switch between globe and flat-map representations, control airport visibility, and navigate additional map functions through a dedicated interface.

Selecting an aircraft opened a custom detail interface containing identification and specification data together with live status, utilization statistics, flight history, operator information, airport information, and related navigation. The application also supported the platform's Fleet View functionality.

Aircraft positions were continuously refreshed from live API data, while current-flight trajectory information was incorporated into the selected-aircraft experience. Where external aircraft photography was unavailable, class-specific aircraft graphics were used as a visual fallback.

Airports formed a second interactive geographic layer. Users could inspect airport information directly from the map and open dedicated airport panels providing additional information and access to related ground- and traffic-reporting functions.

Design & Data Visualization

I designed the complete map interface specifically for the project. The client's existing typography, colors, and brand guidelines provided a visual framework, but the map UI, aircraft visualization, interaction patterns, panel structure, filtering interfaces, airport interactions, and responsive behavior were developed as part of the project itself.

A dark cartographic and interface treatment helped integrate the live map with the surrounding platform while maintaining clear contrast between the basemap, aircraft markers, selected objects, and data overlays.

Aircraft categories used different icon geometries, with variations in marker scale helping distinguish aircraft ranging from wide-body jets to turboprops. When an aircraft was selected, surrounding traffic was visually de-emphasized so that the active aircraft and its information remained legible in dense areas.

The aircraft detail pane was refined repeatedly to balance identity, technical specifications, operator information, live flight data, utilization statistics, and flight history within limited screen space.

The mobile version was treated as its own interaction problem rather than as a reduced desktop layout. Aircraft and airport selection needed to preserve both the detail interface and enough of the map to maintain geographic context. Panel scrolling, selected-object positioning, navigation controls, map centering, and zoom behavior were therefore refined across successive versions.

Technical Approach

Mapbox GL JS formed the core mapping environment, with custom Mapbox Studio styles prepared for both globe and flat-map representations.

The application was developed in HTML, CSS, and JavaScript as a functional standalone implementation intended for integration with the client's existing Vue-based platform. The final project files and Mapbox styles were transferred to the engineering team for migration into the production application.

Real-time performance was considered throughout development, particularly in relation to API refresh frequency, the amount of information included in the global aircraft response, aircraft-marker density, and the separation between global-map data and detailed information retrieved for individual objects.

Technologies

  • Mapbox GL JS
  • JavaScript
  • HTML/CSS
  • Mapbox Studio
  • REST APIs

Data Workflow

A significant part of the work involved defining how the Mapbox application and the client's aviation database should communicate efficiently.

The initial API exposed live aircraft positions by class. During development, the response structure was expanded together with the client's engineering team so the global aircraft endpoint could support class identification and multi-category filtering. Additional endpoints were introduced for airport and aircraft-level information, while external aircraft photography was retrieved through a third-party image API.

This produced a layered data strategy. The global map retrieved the information required to render and update thousands of aircraft efficiently, while more detailed information could be requested only when needed for specific interactions.

True positional interpolation between future known locations was evaluated during development but was ultimately not used. Aircraft movement instead relied on repeated live API updates, with refresh intervals adjusted and tested during development to balance freshness and map performance.

Outcome

The final result was a functioning real-time aircraft tracking map rather than a static design prototype. It combined a high-volume live aircraft layer with search, filtering, fleet functionality, aircraft and airport interfaces, operational data, responsive interaction, and a custom visual system.

The project also established a practical data architecture between the interactive map and the client's larger aviation database, allowing thousands of simultaneously active aircraft to remain usable through a fluid web interface.

After delivery, the client's engineering team integrated the application into its existing platform. In July 2026, the client confirmed that the new map had been deployed on the live production website.