Every day, thousands of aircraft pass overhead, but identifying them usually requires opening a flight-tracking app, searching the map, and guessing which flight matches the aircraft in view. We wanted to make that experience immediate and intuitive.

SkyTrace began with a simple idea: what if you could point your camera at an aircraft, or upload a photo, and instantly discover what it is and where it is going?

Our goal was to combine the curiosity of aircraft spotting with computer vision and live aviation data, making detailed flight information accessible to enthusiasts, travellers, photographers, and anyone who has ever looked up and wondered, “Where is that plane going?”

SkyTrace identifies aircraft through two complementary modes.

In photo mode, users upload an image of an aircraft. The system detects the aircraft and analyses visual characteristics such as its wing configuration, engine placement, tail design, fuselage proportions, nose profile, and winglets. It then compares those characteristics with known aircraft types and returns the most likely model.

In live-camera mode, users point their phone at an aircraft in the sky. it combines:

  • The aircraft’s visible geometry
  • The user’s location
  • The camera’s direction and elevation
  • The current time
  • Nearby live ADS-B flight data

By combining these signals, the system determines which nearby flight is most likely to be the aircraft visible through the camera.

The result includes:

  • Aircraft manufacturer and model
  • Airline and flight number
  • Aircraft registration
  • Origin and destination
  • Current altitude, speed, and heading
  • Distance from the user
  • Recent or live flight path

Rather than requiring users to search through a crowded flight map, SkyTrace makes aircraft identification as simple as pointing and looking.

We designed this as a multimodal aircraft-identification pipeline.

The visual-recognition layer first detects and isolates the aircraft from the surrounding sky or background. It then extracts recognisable geometric features, including wing sweep, engine count, engine position, tail shape, fuselage length, and other distinguishing characteristics. These features are used to estimate the aircraft family or model.

For live identification, the application reads the device’s location and orientation sensors to estimate where the camera is pointing. It then retrieves nearby aircraft from an ADS-B data source and filters them using geographic position, altitude, bearing, and timestamp.

Each possible aircraft receives a match score based on:

  • Its angular position relative to the camera
  • Its distance from the user
  • The agreement between the detected geometry and reported aircraft type
  • The freshness and quality of the available flight data
  • The stability of the match across consecutive camera frames

The strongest candidate is presented to the user, together with its flight information and path. Keeping visual recognition and live-data matching as separate components also allows photo identification to work when live flight information is unavailable.

One of our biggest challenges was connecting a two-dimensional camera image with a three-dimensional aircraft position. GPS coordinates alone are not enough: we also needed to account for the phone’s direction, camera angle, aircraft altitude, and distance from the user.

Aircraft can also appear extremely small in mobile-camera footage. Clouds, haze, low light, motion blur, digital zoom, and aircraft orientation can hide many of the geometric features needed for visual identification.

Another challenge was distinguishing between similar aircraft. Models within the same family can share almost identical silhouettes, especially when viewed from below. We therefore needed to treat identification as a confidence-based process rather than always returning a single absolute answer.

ADS-B data introduced its own complications. Updates may be delayed, coverage can vary by region, and some aircraft do not broadcast complete information. Multiple aircraft may also appear within a similar line of sight, requiring the system to rank candidates instead of simply selecting the nearest flight.

Finally, we had to present a large amount of technical information without overwhelming the user. The experience needed to feel instantaneous and approachable while still giving aviation enthusiasts access to meaningful detail.

We are proud that SkyTrace goes beyond either image recognition or flight tracking alone. Its strongest feature is the combination of computer vision, device orientation, location, and live ADS-B data into one identification workflow.

We developed a clear decision process that supports both uploaded photos and live observations. This allows the product to remain useful in different situations: users can identify an aircraft from an old photograph or discover the exact flight currently passing overhead.

Since this is still under prototype status, we have decided to design the site around a margin of confidence rather than pretending every visual match is certain. When information is incomplete, it shows the most accurate result based on the sample and relevant alternatives, giving users a more transparent and trustworthy experience.

Most importantly, we turned a technically complex process into a simple interaction: see an aircraft, point the camera, and learn its story.

We learned that visual recognition and live flight data are significantly more useful when they support each other. Aircraft geometry can narrow down the model, while ADS-B data can connect that visual estimate to a specific registration and flight.

We also learned that context can be as important as the image itself. Location, time, bearing, altitude, and movement can eliminate incorrect candidates even when the aircraft occupies only a few pixels in the camera frame.

The project reinforced the importance of designing for uncertainty. Real-world sensor readings and aviation data are imperfect, so confidence scoring, fallback behaviour, and alternative matches are taken into consideration on analysis.

Finally, we learned that aviation information becomes much more engaging when it is attached to something the user can see in the real world. Instead of browsing an abstract map, users begin with the aircraft directly in front of them.

Built With

Share this project:

Updates