tailspotted

Find yourself in the wild.

Import your flight log and tailspotted automatically searches airplane spotter sites for photos of your exact aircraft — matched by tail number, airport, and date.

Get Started View Source

See it in action

Import your flights, review matched photos, build your collection.

How it works

From flight log to photo collection in six steps.

1

Import

Upload a file from FlightRadar24, OpenFlights, JetLovers, or AirTrail — or sync directly from an AirTrail instance via its API.

2

Parse

tailspotted auto-detects the format and parses your flights with full timezone awareness — red-eyes, date line crossings, and all.

3

Scrape

Background jobs search four spotter photography sites for photos matching your aircraft registrations.

4

Match

Photos are scored by relevance — registration, airport, and date proximity — and paired with your flights.

5

Review

Approve or reject candidate matches one by one. Each photo shows its confidence score and metadata.

6

Collect

Approved photos go to your library, organized by flight. Your personal aviation photo collection.

Quick install

Two commands. No cloning required.

curl -O https://raw.githubusercontent.com/isogonical/tailspotted/main/docker-compose.yml
docker compose up -d

Open http://localhost:3981 and import your flights. That's it.
Requires Docker with the Compose plugin. Works on Linux, macOS, Windows, Synology, Unraid, etc.

Features

Everything runs locally in four Docker containers.

Multi-format import

Supports myFlightradar24, OpenFlights, JetLovers, and AirTrail. Auto-detected with deduplication — re-import anytime without duplicates.

AirTrail direct sync beta

Connect to a running AirTrail instance via its REST API. Sync on demand or on a schedule — hourly, every 6h, 12h, or daily.

Four photo sources

Searches Airliners.net, JetPhotos, Planespotters.net, and Airplane-Pictures.net in parallel.

Cross-format dedup

Import from multiple sources without duplicates. Flights are matched across IATA and ICAO codes, so FR24 and AirTrail imports merge cleanly.

Review queue

Approve or reject candidate photos with confidence scoring and full metadata display.

Queue monitor

Live stats, pause/resume, concurrency control, and ETA in a slide-out panel.

Background processing

Rate limiting, automatic rescans, and retry on failure. Set it and forget it.