Starting to Add Flight Logs

0 💕 0 ↩️ 0 🔄

MyFlightradar24 is the only silo–if it can be counted as one–that I consistently use. Its presentation of my flight data is wonderful, but I feel like I could do it myself on my own site. Today, I’ve opened up my flights branch so I can finally sort out what I need to make this happen!

Why Do This?

A lot of it is because I’d like to make sure that my flight data is owned by me and hosted by me. FlightRadar24 is actually an excellent service, in my opinion, and actually lets you export your data out easily from its platform. It also provides some nice data visualization.

However, it’s not particularly interactive. People can’t really reply or react to your flights. You’re also stuck to the data visualizations they provide without any customization (that being said, a lot of its data visualization is exactly as I wanted and I don’t feel lacking, but in the future perhaps I want further control). I’d like to be able to visualize my data in new and various ways in the future, even if, at the start, my data presentation will not be as robust as the service.

What I’ve Finished Thus Far

I’ve catalogued my steps for Flight Logs on my IndieWeb userpage, but to start off with, I branched my current site and did the easy stuff first:

Create an Archetype in Hugo For Flights

To create the Archetype, I essentially looked at the data input process that MyFlightradar24 asks for and created the YAML Front-Matter from that:

---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
airline:                 # ATA, ICAO, Callsign, or Full Airline Name
flight_number:           # Flight number without the Airline Code
departure_airport:       # ATA or ICAO of airport
departure_datetime:      # Datetime should be local to the airport
arrival_airport:         # ATA or ICAO of airport
arrival_datetime:        # Datetime should be local to the airport
flight_duration:         # Number of seconds
aircraft_type:           # ICAO (A20N), IATA Type (32N) or Aircraft Name (A320neo)
aircraft_registration:   # Like N720FR
flight_class:            # first, business, prem_econ, economy, or private
flight_seat_type:        # window, middle, or aisle
flight_seat_number:      # Like 13F
flight_reason:           # leisure, business, crew, or other
---

Personal notes, summaries, or anything else to describe this flight goes here.
Hugo allows this section to be formatted _in Markdown_!

Create new JSON in Data for Airlines, Airports, and Aircraft

I don’t want to overload the Front Matter per-site, and I want to create less work for me. Airport, Airline, and Aircraft Type information doesn’t change or deviate often enough to require changes on a per-flight basis. I am also a little bit lazy. Ergo, separating information I may use often works well for saving me time and typing.

aircraft.json

[
  {
    "name": "Airbus A319",
    "ata": "319",
    "icao": "A319"
  }
]

airlines.json

[
  {
    "name": "Frontier Airlines",
    "url": "https://flyfrontier.com",
    "icao": "fft",
    "ata": "f9",
    "callsign": "frontier flight",
    "flight_class": {
      "prem_econ": "Stretch",
      "economy": "Economy"
    }
  }
]

airports.json

[
  {
    "name": "Chicago O'Hare International Airport",
    "url": "https://www.flychicago.com/ohare",
    "ata": "ord",
    "icao": "kord",
    "adr": {
      "street_address": "10000 West O'Hare Avenue",
      "locality": "Chicago",
      "region": "Illinois",
      "postal_code": "60666",
      "country_name": "United States",
      "geo": {
        "latitude": 41.978611,
        "longitude": -87.904722,
        "altitude": 207.3
      }
    }
  }
]

Next Steps

Data collection is easy–whether from me (inputting a flight log entry) or from the JSON (I’ll add airports, airlines, and aircraft as necessary). Actual presentation and templating will be the hard part here.

Soon I’ll be starting out on the single flight template. I want to show off an interactive map that shows the flight from the departure point to the arrival point. Data like flight duration, departure and arrival times, nautical miles, and other data should also be presented as well. It’ll probably be good for me to see how other places (like FlightAware or Flightradar24) display flight information to get some structure and presentation ideas. Each single page should be formatted as an h-entry for the flight log entry itself with an h-event describing the flight.

The list page template should be fairly similar as well, building off what I’ve made in the single page template. However, I would like there to be a full interactive map of the world with all my flights on it.

Projected Final Product

What I should end up with after doing all this is a pretty simple map with a bunch of lines showing all the flights I’ve taken. While I won’t have all the data presented in MyFlightradar24 after all this, I should be able to keep working on different visualizations in the future to eventually get it just as good–if not better–than the Flightradar24 silo.

Here’s hoping it goes well!

View on Twitter View on Mastodon