Flight Historian is a personal flight tracking website I created, allowing me to map and review all flights I’ve taken.
You can see details for any flight I’ve flown; you can also click on any airline, aircraft, airport, route, class, or tail number to see maps of all matching flights.
For every category such as airlines or airports, Flight Historian can show you which ones I’ve used the most.
I can add flights to Flight Historian simply by sharing digital boarding passes from my phone via email, or by scanning the barcode on my paper boarding passes.
I launched Flight Historian in 2013 to replace a collection of flight tracking text files and spreadsheets that I’d been using previously, and I’ve been upgrading the website ever since.
I wrote Flight Historian in Ruby on Rails, using a PostgreSQL database to store flight data.
The application interfaces with the Great Circle Mapper to generate flight map graphics, and provides geographic XML data downloads in GPX and KML formats. It can also export groups of flights as a directed graph (with airports as nodes and flights as edges) in yEd-flavored GraphML format.
Flight Historian can automatically import flights from Apple Wallet boarding passes shared via email, or from scanned paper boarding pass barcode data (in IATA BCBP format). It looks up additional flight details using the FlightAware AeroAPI.
My GitHub repository for Flight Historian is at bogardpd/flight_log.
Switching Flight Historian to ICAO Regions
7 Sep 2017 · I used to manually keep track of which airports were within the contiguous United States in Flight Historian’s airport data, but I realized that I could determine airports’ regions by looking at their ICAO codes instead.
Counting Visits to Airports: The Significance of Trip Sections
25 Feb 2016 · Why did I build my own flight log instead of using an existing one? One big contributor was that existing flight logs all seemed to double-count layovers.
15 Sep 2013 · I was able to use BTS data to help me fill in a good portion of my missing tail numbers.