Show HN: I'm an airline pilot – I built interactive graphs/globes of my flights
jamesharding
2 days ago
1473
191
Hey HN!

Pilots everywhere are required to keep a logbook of all their flying hours, aircraft, airports, and so on. Since I track everything digitally (some people still just use paper logbooks!), I put together some data visualizations and a few 3D globes to show my flying history.

This globe is probably my favourite so far: https://jameshard.ing/pilot/globes/all

If you’ve got ideas for other graphs or ways to show this kind of data, I’d love to hear them!

https://jameshard.ing/pilot
alabhyajindal2 days ago
Very cool! I didn't know pilots are required to maintain a logbook. What's the official recommendation for this - using a paper logbook?
jameshardingalabhyajindal2 days ago
Each country has slightly different requirements! For the US, here is the FAA rule for it: https://www.ecfr.gov/current/title-14/chapter-I/subchapter-D/part-61/subpart-A/section-61.51

A lot of people still use paper (and fill it in after landing each flight), but there are quite a few digital options on the market now. I use one called LogTen, which stores everything in a SQLite file behind the scenes which is what I used to make this.

pinoy420 jamesharding2 days ago
What happens if you lose it?
markdownpinoy4202 days ago
You go back to every airline you ever worked for, beg for your flight logs, hope they are willing to provide them, and then over the course of weeks re-enter them into your paper logbook or software. Then you hope that the airline will also be willing to sign-off your logbook.

TL;DR: you're screwed.

sokoloff jamesharding2 days ago
You are only required to log time required for 61.51.a.1 or .a.2, but are not required to log “all [your] flying hours” by the FAA. (Your airline might require it and it’s a good idea to log all your flights, but it’s not a law.)
jonlucc2 days ago
This is great data visualization of interesting data! I'm curious about the last graph; there seems to be something making some of the longest flights take more time/nm. Is that real or an artifact, and is there an explanation for the tail?
jameshardingjonlucc2 days ago
Great question! It is not an anomaly, it is very geographically specific.

Due the the Ukraine war (and my home base being in the UK), we have to fly the long way around to get to far-east destinations like Tokyo and Hong Kong. Flying outbound from London we have to fly down over Turkey (which adds about two hours of flight time).

Flying home from Tokyo with the ongoing airspace closure, if the the weather is suitable at the ETOPS airports enroute, it is actually quicker to fly home eastbound again, flying up over Alaska. A proper around-the-world in 4 days!

rob74 jamesharding2 days ago
So for London-Tokyo the return route is completely different from the outbound route? Fascinating! I guess that has something to do with the jetstream (which only helps you when travelling eastbound)?
jameshardingrob7417 hours ago
Exactly that! This is the only route that I know of where this is the case.

Looks like today’s flight home is following that route: https://uk.flightaware.com/live/flight/BAW8/history/20250629/0000Z/RJTT/EGLL

arccy2 days ago
I wonder if you can spread out the airport labels a bit when they're clustered together, like the cluster around CYOO in the US.
jameshardingarccy2 days ago
Good idea! Not sure exactly how to do this with globe.gl but I will look into it.
imp0cat2 days ago
The logbook is nice, but the split-flap display is downright awesome. ;)

https://jameshard.ing/projects/split-flap

jameshardingimp0cat2 days ago
Glad you like it! I have a screen on there which shows my flights live while airborne - maybe worth a post of its own :)
iamspoilt2 days ago
Having a computer engineering background, what motivated you to become a pilot and switch careers?
iamspoiltiamspoilt2 days ago
Looking at your projects, seems like you still have the hacker going in you! Saw Home Assistant one! Kudos!
jameshardingiamspoilt2 days ago
Love Home Assistant! I have a screen on my split flap display that shows aircraft flying overhead our house (at very high level) - all fed by home assistant and various HACS addons.
jameshardingiamspoilt2 days ago
I had always been interested in aviation, and I was fortunate that I was in the right place at the right time after graduation to join an airline on a sponsored "cadet scheme".

I still (hopefully evidently) very much love software/engineering, but I guess I chose the path of "professional pilot, hobbyist engineer" over the alternative of "professional engineer, hobbyist pilot".

joshvm jamesharding2 days ago
I'm surprised how wide the acceptance age range is for BA's program (18-55). Is it common for people to transfer from unrelated careers? Nice to know that door isn't technically shut for a while!
avgDev jamesharding2 days ago
I loved programming before doing it as a job. Now, I really can't be bothered to program outside of work.

At what age did you make this change?

I love medicine, researching diseases I hear about and learning about the body is hobby for me. I would love to get into it but I am almost 40.

svaraavgDev2 days ago
> I would love to get into it but I am almost 40.

You're young! Saying that as a fellow almost-40.

phkahler jamesharding2 days ago
>> chose the path of "professional pilot, hobbyist engineer" over the alternative of "professional engineer, hobbyist pilot"

Both pay well for a job, but as a hobby the costs are very different ;-)

uptownJimmy2 days ago
Maaaaan, this is so cool. I'm geekin'.
andreygrehov2 days ago
This is great work! I have a somewhat off-topic question. How are your ears? Do pilots have any tricks to save their ears from getting clogged due to the constant pressure changes?

Second question. Would it be possible to predict flight delays based on the number of inbound and outbound flights?

jameshardingandreygrehov2 days ago
Thank you :) I haven't had issue with my ears (other than the occasional lingering cold), but usually a good yawn or chewing gum will clear it. On a normal day, I am fortunate to have wide eustacian tubes I guess!
lbotosandreygrehov2 days ago
Not a pilot but fly frequently -- A lot of the modern larger planes 787 Dreamliner or an A330/350 have something that helps with the ear clogging.

I travel NY/LON a lot, and I rarely have any ear popping. If I travel on a smaller plane say NY -> Miami, I easily get the clogged feeling.

netsharclbotos2 days ago
nelblu2 days ago
Love it :-). Do you also need to log the gps co-ordinates as you are flying? I would love to see how you avoid the airspace in the war hit areas.
netsharcnelblu2 days ago
Not OP, but commercial airliners fly on airways: https://www.youtube.com/watch?v=EwaYDVbQvKI& , from waypoint to waypoint.

When there's missiles in the air heading to land on innocent babies, the airlines choose waypoints so that they don't fly over these areas.

jameshardingnelblu2 days ago
I wish I had it! Our flight plans contain the full routes (waypoints and airways), but there is no easy way to capture this information.

While not exact prohibited airspace, this map shows where GPS jamming is highest, which roughly corresponds to the warzones: https://gpsjam.org/

ok_computer2 days ago
Cool visualization for your personal logbook. How is the raw or display data stored?

The globe map reminds me of this hexagonal grid article from my bookmarks I’d found on here or reddit.

https://www.redblobgames.com/grids/hexagons/

As an airline pilot, I am curious, have you watched the season 2 of Nathan Fielder’s Rehearsal on HBO, that comically addresses the topic of pilot-copilot communication?

If so what are your thoughts on his portrayal of the existence of copilot communication friction. And without intending to dig into your personal business, do you think there is a tendency and survivor (retention) bias for the profession to remain high functioning ______, without recognizing a need for help. Or is this portrayal of stunted coworker dialog an edge case that is amplified from his perspective.

wetoastfoodok_computer2 days ago
> How is the raw or display data stored?

He answered in the post that he uses LogTen Pro[1] which enables querying with SQL[2]. In the SQL post he says the app has an export for CSV but the app stores it in SQLite which you can access and query from directly.

[1] https://logten.com/ [2] https://jameshard.ing/posts/querying-logten-pilot-logbook-sql

jameshardingok_computer2 days ago
The data is all in a sqlite file from my logbook software! I wrote a little post about extracting the data here: https://jameshard.ing/posts/querying-logten-pilot-logbook-sql

I have only seen a few clips from The Rehersal (the bit with Sully listening to Evanescence), so I don't have much to go on. Pilot communication is definitely something that we spend a lot of time talking about and training (under the larger banner of CRM - crew resource management), and in my experience the industry is making real efforts to be better in this area!

ok_computer jamesharding2 days ago
Cool, thank you for the response and details.
im_down_w_otp jamesharding2 days ago
Hey! I used to work for the company that makes that logbook software. That was a great job. The CEO was an amateur pilot himself and really, really loved software product design.

It's been over a decade, but it's cool to see that software still being iterated on and pilots still loving it.

Even cooler to see someone such as yourself extending its usefulness by leveraging the data. Cheers!

jameshardingim_down_w_otp2 days ago
Awesome!

You can tell that the software is created by people passionate about aviation (and also passionate about nice UX, something that most all of the Logten competitors really lack). Do you remember if my guess about using NSDate internally was correct?

im_down_w_otp jamesharding2 days ago
"passionate about aviation" and "passionate about nice UX" definitely described Noah and the rest of the team!

Honestly, I don't remember Re: NSDate. It was many jobs and Dante's levels of burnout ago. :-)

What I remember from that time was a lot of fighting with Apple's early iCloud syncing. Because it had a habit of being incredibly fraught and flakey using SQLite-backed Core Data stuff.

bombcarok_computer2 days ago
Reminds me of https://youtu.be/1SKDvQzcasg which is quite old.
fastballok_computer2 days ago
I assumed the globe was using Uber's H3 library for the hexagons.
AJRF2 days ago
Hell yeah. This is very cool, happy flying!
Chico752 days ago
I'm curious to know what is the small concentrated cluster of flights Northwest of Dulles airport, where the flight durations seem way too high compared to the effective distance between the points.
jameshardingChico752 days ago
Those are all of my flights in light aircraft around my hometown in Canada! They fly a little bit slower than the A350 :) There is a similar cluster around the south of Spain where I completed my Commercial/ATPL training.
mkoubaa2 days ago
Are you allowed to code while sitting in the cockpit but not actively flying?
jameshardingmkoubaa2 days ago
On the long flights where we carry more than two pilots, we have allocated break time away from the cockpit. During those breaks, you can do whatever you like (sleep, watch a film, read a book, etc). I tend to try to sleep on the plane, but I always bring my laptop on trips to work on projects while downroute. Especially on west-coast trips with the 8 hours timezone change, I am usually awake at 2am which is great for being productive!
walthamstow jamesharding2 days ago
I am insanely productive when programming on flights without wifi, provided I've cached what I needed to beforehand. Something about it just works
ameliuswalthamstow2 days ago
Ok, so no high-quality LLMs possible.
bschwindHNwalthamstow2 days ago
I'm jealous - all that time sitting around to get something productive done, and I can't concentrate at all because I can't relax, the plane suddenly shakes and distracts me, and it feels like I'm lacking oxygen and am not thinking clearly. I remember trying to code some stupid iterator thing in Rust for a few hours and couldn't crack it. On the ground it was solved in like 10 minutes.
mkoubaabschwindHNa day ago
Your phone has a "do not disturb" feature
bschwindHNmkoubaa20 hours ago
I'm jealous of them being able to be productive _on a plane_.

I can be productive on the ground no problem, but I'm mostly useless when I'm on a plane.

baroquetaxers0s2 days ago
this is cool
jcsnv2 days ago
this is so cool!
butlike2 days ago
Those few days that show back-to-back 14hr days must have been an experience :)

What's your favorite thing to see up in the sky and in the clouds?

jameshardingbutlike2 days ago
The 14 hour days certainly felt long!

I think that seeing the northern lights (quite common on our flights to west-coast North America) or large thunderstorms over the equator at night (from a safe distance) are probably the highlights for me :) SpaceX launches are becoming more regular occurrences too!

jasonthorsness2 days ago
I love the sequential globe especially!

For an idea - anything you could do with altitude? Your average height above sea level per day? I dunno :p

NKosmatosjasonthorsness2 days ago
I’ll second this idea. Keeping track of your hours on high altitude is important sine you get more radiation than us on the ground. I’ve read various articles about pilots & flight attendants health affected by higher exposure to radiation.
willsmith72NKosmatos2 days ago
True, but is it counterbalanced by their ageing at least a few microseconds more slowly thanks to spending so much time closer to the speed of light?
cyberaxwillsmith722 days ago
You actually age faster on an airplane, because you are in a less dense space and experience less gravitational redshift.

General relativity works against the Special Relativity in this case.

willsmith72cyberax2 days ago
Well shucks to my high school physics teacher
jameshardingjasonthorsness2 days ago
I wish I had the data! Likewise, collecting the number of passengers carried would be a nice cumulative statistic at the end of my career (I guess I can start recording this when I become a Captain?)
FL410 jamesharding2 days ago
You could (probably) pull the ADSB data for a "representative" flight on given routes and use that to at least get close - probably would still be useful for things like radiation exposure mentioned elsewhere.

Otherwise, maybe you can get Claude to vibe code you a mobile app that runs in the background and collects all the interesting data (GPS, cabin alt, etc)

collinvandyck762 days ago
This is inspiring me to collect more of my own data -- great job!
dylan604collinvandyck762 days ago
Just map your device's location services. It'll be telling just how much someone that gained access to your device could tell about you. Or how much theGoog is making from knowing that data
compacct272 days ago
Oh my god, love these visuals. Geo data is so perfect for dataviz
the_arun2 days ago
Folks like you (expert in multiple domains) are an inspiration for people like me. I always dream to do something other than my day job. Hope I push through my laziness to do it some day !
jameshardingthe_arun2 days ago
What a kind comment :) Thank you!
ProZsoltthe_arun2 days ago
Sometimes I wish software development didn’t pay so exceptionally well. I’m interested in so many other things, but it’s hard to justify switching to another full-time field, knowing it would mean a significant pay cut.
DC-3ProZsolt2 days ago
My heart bleeds.
bronco21016ProZsolt2 days ago
Depending on your locale and position, you may have it backwards. Check out pilot pay in the United States at www.airlinepilotcentral.com
nimishbronco210162 days ago
I wish I wasn't medically barred from having a pilot's license. Not for the pay, but I just like the idea of flying. Unfortunately, I cannot. I recommend people use their salaries to learn how to fly regardless! It's maybe ~$15-20k to get a PPL which is doable for the tech crowd with some planning.
BrandoElFollitobronco21016a day ago
I think GP meant some girls outside of software engineering.

I would love to switch (back) to teaching but a 10x pay cut is not doable. Maybe close to retirement I will give it a try.

sillyflukethe_aruna day ago
There's an oft-repeated line that goes something like, "I was lucky enough to be terrible at my first job." ie, optionality is a curse.
3l3c7r1c2 days ago
Those visualizations are really cool! Did you use any AI assisted coding? If the answer is yes, which tool(s) did you use?
jamesharding3l3c7r1c2 days ago
Thank you! This was all by hand using Astro, but I have steated experimenting with using AI coding for my newest project (https://liberateloyalty.com/). I have just been using ChatGPT and Copilot so far, and I am totally sold on their helpfulness.
amelius2 days ago
You could turn this into a product!

Something pilots can link to from their LinkedIn accounts.

And of course to impress friends and family.

h1fra2 days ago
Cool viz, I guess it's using https://nivo.rocks/?
jameshardingh1fra2 days ago
It is indeed! And using https://globe.gl/ for the 3D globes.
cetinsert2 days ago
See https://RTEdge.net too, if you like globes with interactive nodes and edges!
supportengineer2 days ago
Here I am having accomplished apparently nothing in my life.
uncleDinglesupportengineer2 days ago
Relatable
gavmorsupportengineer2 days ago
Your handle is "supportengineer". Presumably you outrank OP if you count assists, or a share of others' successes.

Do the developers of the libraries he used count this site as a personal accomplishment? Do the airplane mechanics? Do their support engineers?

We participate in a circulatory economy, but we haven't yet adopted a perspective of circulatory attribution. Maybe we never will. Maybe we never should.

Maybe you should recognize your piecemeal contributions as a sort of ikigai, or maybe you should see this as a wakeup call to carpe diem.

Thanks for the opportunity to pontificate!

weinzierl2 days ago
That is beautiful. Besides the globe and the cool animations I like the dashboard that shows summary stats.

This made me think. Either Frauenhofer or Helmholtz in Germany used to have a site where you could enter your specific flights and it would tell you your overall radiation exposure. This was meant mainly for flight personnel and it was not nearly as beautiful. The accumulated exposure would be a useful addition for the dashboard.

jameshardingweinzierl2 days ago
A great idea!

The company that I work for does actually provide us with our cumulative dosage data for the month/year/lifetime, but not at such a granular level. Do you know of any statistical way that I could calculate this?

I suppose I could work out the great circle routes and the approximate dosage in that airspace at a given time?

defrost jamesharding2 days ago
For any third parties (I'm getting a wee bit old for these diversions) geophysical survey companies (the ones with crop dusters with stingers on their tails, high wing twin props with stingers and wing tips sensors, etc.) have ongoing globally spread about calibration flights for radiometric (environmental ground radiation) surveys.

The surveys are (usually) 200m spaced grid lines 20km (or so) long flown 80m above ground, the calibration flights are stacked lines from quite high up down to ground level so that the post processing can estimate and subtract cosmic radiation "from above" and how it falls off through the current atmosphere (density, humidity, etc. thinning out current gamma inflow from up high).

Such things, if accessed, would fine tune a radiometric exposure by height model in the same way that using the global magnetic model(s) (there are two main ones) can tune up true north magnetic readings .. it's a fine adjustment that only matters to some.

Some working airport that your cross somewhere in the world likely has a hanger full of geophys survey craft (helicopters and planes) .. might be worth chasing up.

mcflubbinsweinzierl2 days ago
Nomadlist had (has?) radiation exposure for all of your trips too, I was shocked when I saw the stats!
SwiftyBugmcflubbinsa day ago
Do you travel a lot? Because a trip from east to west coasts of the US expose you to less radiation than an X-Ray exam. Doesn't seem that shocking.
181728282861772 days ago
Being a professional pilot while also being able to put together such a polished software project like this is incredibly impressive
shawabawa3181728282861772 days ago
do pilots get to mess around on a laptop while flying? My understanding is that most of a flight is just sitting there waiting for landing to start, could mean a lot of spare time to pick up programming
mbreeseshawabawa32 days ago
I don’t think the cognitive context switching required would be a good fit. I imagine pilots always have to be “on” just in case something happens, even if they are letting the plane do some of the routine flying.
Rendelloshawabawa32 days ago
When you're 8 hours deep in borrow checker hell, you're in no emotional state to be piloting the A380.
kunleyRendello2 days ago
Or the contrary: nothing can shake you anymore
barbazoo181728282861772 days ago
It’s not a 9-5 for many and time between flights can be significant. Not surprised they do that as a hobby on the side. Not imagining they’re doing anything during the flight.
perks_12181728282861772 days ago
He graduated from UofT with a major in CompSci.
david4222 days ago
Looks great, thanks for sharing! One thing I love about software engineering is that you can apply it to so many different aspects of ordinary life. Showing your flight career like this is really cool.
jameshardingdavid4222 days ago
It is so true! This XKCD comic always comes to mind though with projects like this: https://xkcd.com/1205/
silasdavis2 days ago
There seems to be some crossover between the software and flying 'communities'. Perhaps this is rather unsurprising given some of the shared prerequisite skills? Is it your experience there are many commercial pilots who code?

Do you expect to get 100% of the way to the sun over your career?

jameshardingsilasdavis2 days ago
There are quite a few ex-engineers who fly (though anecdotally, most seemed to have studied aerospace engineering. At this rate, I think I am on track to make it about 10% of the way there by the time I retire (unless supersonic travel comes back in a large way!)
ortusdux2 days ago
Very cool! Can you share any info on the 945min flight from back in June?
jameshardingortusdux2 days ago
Thank you!

That flight was the return from Tokyo (RJTT) to London (EGLL). Due to the closure of Russian airspace, the outbound flight is longer than pre-war as we fly over Turkish airspace. Due to the wind patterns, it is almost always longer flying westbound, so we usually fly east both ways.

In this case, the weather at one of the ETOPS alternates that we use (Shemya, https://en.wikipedia.org/wiki/Eareckson_Air_Station) was out of limits, so we had to fly back Westbound with the associated headwind and longer flight time.

vdddv2 days ago
A lot of data and none on his carbon footprint
Tepixvdddv2 days ago
my thoughts as well
trizoza2 days ago
Love the destination matrix graph!
zX41ZdbW2 days ago
I have a similar visualization on top of ~150 billion data points of ADS-B data: https://adsb.exposed/

It is interactive, so you can filter by any dimension, like the types of aircraft you fly.

It is 2D, but I thought about making it 3D as well.

PS. The map you showed is somewhat slow - when I zoom in, the framerate is less than 10.

leeoniyazX41ZdbW2 days ago
wow, that's some serious data crunching.

can you share some tech details?

zX41ZdbWleeoniyaa day ago
There is the "About" link at the bottom, pointing to the source code:

https://github.com/ClickHouse/adsb.exposed/

In fact, the data processing pipeline is entirely trivial (a one-page shell script), and the frontend is also trivial (a single HTML page with vanilla JavaScript).

Perz1val2 days ago
I'm surprised that it is mostly back and forth routes. Guess they're called airlines for a reason
halilkoklu2 days ago
Inspiring profile with beautiful charts.

Glad to have found someone else with a similar background who decided to fly jets.

I had a good run as a software engineer and executive for the last 20 years. I have just completed my Airbus 320 type rating waiting for my base check. I will be flying for a national flag carrier.

jameshardinghalilkoklu2 days ago
Congratulations, and thank you!

I moved from the A320 to the A350 just over two years ago, and they are remarkably similar to fly (by design)! I would go so far as saying that you could hop in the A350 sim with zero training, and you would be able to operate it to a safe standard.

halilkoklu jamesharding2 days ago
I've got my eyes on the A350 for ages now so I'm glad that I landed on the Airbus fleet (80/20 odds in favour of Boeing here at my airline).

I've got two possible progression tracks from here: 1. gain experience on the A320 for a year, get upgraded to the A330, after two years get certified for the A350 to fly A330/A350 mixed. 2. spend years on A320, upgrade to captain, many more years, then finally upgrade to A330 as captain, then two years later A350 added.

I am planning to fly jump seat to see all the types we're flying.

jameshardinghalilkoklu2 days ago
May I ask which airline you fly for? Feel free to email me if you like (email is on the website!) if you'd rather not post it in public :)

Career progression in airlines is interesting - with lifestyle being so heavily influenced by seniority at most airlines, there is often a big tradeoff decision to make between lifestyle and salary.

At my current airline, the most well-trodden career progression has historically always been Short-haul FO -> Long-haul FO -> Short-haul Captain -> Long-haul Captain. Curious if this is the same at other airlines?

maxehmookau2 days ago
This is super cool, although perhaps the coolest thing is that this website is part of a WEBRING!
ppak102 days ago
Cool, the data visualization is really neat! Do you have a lot of down time during those long flights and are you able to work on this during that time?
jameshardingppak102 days ago
Thank you! Not so much during the flight, but I bring my laptop on most trips, and I use some of the 24-48 hours we get between flights to try to be productive. It helps when I am awake at 2AM (PST) when it is 10AM on my body clock!
IncreasePosts2 days ago
I'm flying your most recent route next month(ba218). If I see you I'm going to say something weird, like "I know where you've been flying James". I hope that's okay.

Regarding ideas, I noticed that you use great circle distance in some of your measurements, what about getting the actual flight data, and the graph showing deviation of your flight from the ideal.

jameshardingIncreasePosts2 days ago
Haha, if there is another James flying the plane, they might be spooked! I'm not flying to Denver for until at least August based on my current roster.

It would be great to use the actual distances (and would help me lap the moon a few more times), but there is no easy way to get the data. Our company flight plans which contain the actual route are in PDF format and with no easy API, and EuroControl (who hold the filed flight plans) charge quite a bit to have access I believe. I supposed I could screenshot the route and upload it to my server and have it OCR the route!

IncreasePosts jamesharding2 days ago
What about flightaware.com? I punched in ba218 and I can see what appear to my untrained eye to be actual position:

https://www.flightaware.com/live/flight/BAW218/history/20250628/0045Z/KDEN/EGLL/tracklog

ziofill2 days ago
How did you make the world not pick up a geometric phase as you move it around? It's always oriented nicely.
jameshardingziofill2 days ago
The https://github.com/vasturiano/globe.gl library seems to use this as the default
jimmySixDOF jamesharding2 days ago
Vasturiano is a master what he does to combine D3 and ThreeJS is a huge decomplexifier everything can run in a single html file so simple so elegant so useful.
crsv2 days ago
This is just fun and fantastic. Love it.
mattfrommars2 days ago
If I understand OP journey, was he fortunate to have been scholarship to fund his studies to become a pilot?

I was looking into pilot school here and they cost upwards to $100k

jameshardingmattfrommars2 days ago
Exactly this. When I joined, the company offered a cadet scheme where the company would underwrite the loan required for your pilot training (84,000 GBP in 2016), and then that amount was repaid to us over 84 months of employment (while on a reduced cadet salary). It essentially spread the cost of training out over 7 years.

The current cadet scheme is better in the sense that you do not have to take on a personal loan for the flight training!

darkwater jamesharding2 days ago
And what of you failed the final examination? Could you try more than once? Would that have affected your hireability at the company?
vmh1928mattfrommars2 days ago
Air Cadets appears to be a part of the Canadian Armed Forces and intended to provide an on-ramp for young people interested in different aspects of the Armed Forces (Army, flying, Naval.)

https://www.canada.ca/en/department-national-defence/services/cadets-junior-canadian-rangers/cadets/what-we-do/air.html

Qualifications to join the Air Cadets. https://www.canada.ca/en/department-national-defence/services/cadets-junior-canadian-rangers/cadets/what-we-do/air.html

Peterpanzeri2 days ago
Damn this is soo cool im not even close to understrand all of it but its damn beautiful
kunley2 days ago
Very cool visualisation project!

As for your flying, I just wanted to tell you good luck, we're all counting on you

beepbooptheory2 days ago
Love this work. Is this something you can share with your partner in the cockpit often? Would you say you are more of a First Officer Blunt, or a Captain Allears?
ta126534212 days ago
Beautiful!

Make an App out of it, sell it to your colleagues? why not?

jpresend2 days ago
This is amazing, James! Any chance you'd release it open source?
jameshardingjpresend2 days ago
Thank you! It is on my to-do list, I just need to clean up the code a little :)
sneak2 days ago
Code, data visualizations, aviation, mapping.

All you need to do is throw in some Rust and a custom PCB or two and you have an HN bingo. :)

Sweet hack.

jameshardingsneak2 days ago
Haha, need to add some AI in there somehow too (no vibing used when making this)!
undebuggable2 days ago
My IT career is rather nowhere, my glider training terminated before going solo, at least have equally cool domain. Good to know someone is succeeding overall in all these, haha. Entertaining post and engaging data presentation!
voxleone2 days ago
Very cool. I just wanted to say how much I enjoyed reading through your detailed flight logs — the way you’ve documented your experience, from distances and time in the air to the nuances of roles (P1, P2, PICUS), was fascinating.

As someone concerned with these matters — developing SpinStep, a quaternion-based library for modeling orientation and vector state evolution in physical systems — I found myself unexpectedly inspired by your data. It got me thinking: could these kinds of spatiotemporal logs, with their emphasis on direction, roles, and environmental influences, be approached through something like rotational state modeling?

For example:

.Aircraft headings and orientation changes could map naturally to quaternions.

.Role transitions (e.g. P1 ↔ P2) resemble discrete state changes within a continuous system.

.Wind effects or flight network patterns might even be modeled as external fields influencing orientation over time.

I hadn’t envisioned SpinStep in this context, but your log offered a compelling perspective. Whether or not it leads to something concrete, I just wanted to thank you for the inspiration.

.https://github.com/VoxleOne/SpinStep/blob/main/README.md \

.https://github.com/VoxleOne/SpinStep/blob/main/docs/01-rationale.md

jampekkavoxleone2 days ago
The repo reads a bit LLM written.

Quaternions have some nice properties for some operations with 3D rotations, but they are not a panacea.

jakub_g2 days ago
If you're interested in the subject, let me introduce you to GCMap.

GCMap can plot a line between any two IATA airport codes; actually you can put arbitrary number of pairs comma separated; and best of all, they can be passed as a URL param. For example: `JFK-LHR,LHR-CDG,CDG-FRA`

http://www.gcmap.com/mapui?P=JFK-LHR,LHR-CDG,CDG-FRA

I track my own flights by sending an email to myself with a GCMap URL every now and then.

kccqzyjakub_g2 days ago
GCMap doesn't have a whole lot of different map projections to choose from. Having more than one pair on a single map will result in a pretty bad map projection. That's my biggest complaint. They really need to add more better projections such as Mollweide, Winkel Tripel, Robinson, etc. Or they should just have a globe.
piker2 days ago
So cool! I assumed that pilots just generally flew the same hops back and forth over and over, but it seems at first glance that there is actually a lot of variety.

Does it make you nervous when you have to land in a new place for the first time?

jameshardingpiker2 days ago
I guess the variety of flights is based on which aircraft one flies! I flew the A320 for the first 6 years, which covered all of Europe and a little bit of North Africa (Egypt, Lebanon, Jordan). Now flying the A350, there is more of the world unlocked, but there are still some routes that only other aircraft (777/787/A380) fly at my company.

We have comprehensive company data for each airport that we operate to, and some of the more challenging airports have special training (in the simulator) as a requirement, or a video briefing. Nervous would be the wrong word, but it is always exciting to fly somewhere new!

HeavenFox2 days ago
Very cool! As a semi-frequent flyer I am also passionate about logging every flight I have taken. I have been using OpenFlights for the last five years but the constant bugs always bugged me :) This year I finally decided to build my own: https://jetsetter.quest
poly2it2 days ago
Very interesting visualisations! I'm surprised but at the same time not surprised at the apparent overlap between pilots and programmers.

Do you have a favourite/least favourite plane to fly, or are they all the same?

jameshardingpoly2it2 days ago
Slightly biased, but right now I am really enjoying the A350!

There are a few "gadgets" that really improve the QoL for pilots (moving map on the ground, camera in the tail for taxiing on the ground, much improved safety systems for situations like blocked pitot tubes, etc).

aitacobell2 days ago
Super cool. Harkens back to days of Microsoft Flight Simulator
b0a04gl2 days ago
when a route doesn't come back as a roundtrip , like you fly LHR > HKG but not the return . how does that usually get handled on your end? do you deadhead back, get reassigned regionally or wait out a layover cycle?
jameshardingb0a04gl2 days ago
Good question! There are a few routes in my data where the outbound and inbound sectors don't match for this exact reason. Since almost all of our flights begin and end at LHR, if a flight is cancelled we either operate the flight the following day, or fet "positioned" (our word for deadhead) home as a passenger.

Usually when a route changes aircraft, there is a requirement to "position" some pilots out a few days before as passengers to bring the aircraft home when it lands there for the first time. Logistically, very complex!

intalentive2 days ago
Cool. It would be neat to see velocity and altitude too.
aquafox2 days ago
I would plot the destination matrix as a jeatap where each row is a departure and each column an arrival and color is the number of trips. Additionally, you could cluster the rows and columns of this heatmap.
joemi2 days ago
Nice metrics and visualizations! The kind of graph you used for the destination matrix doesn't always feel very useful, but in this case it worked really well.

One thing I immediately thought to check after seeing your hours graph was what percentage of the year you were in flight (or in a plane, I guess). For your peak year (2024), it worked out to be about 8.7% of the year! It probably even higher if you just count your waking hours, but I don't know your sleep habits or how many of your flights you might have slept during.

jameshardingjoemi2 days ago
You did the math! Thank you :)

It is one of the pecularities of the job, in that I will be "at work" for 4 days, but only actually strapped into an airplane for 8-14 hours at the beginning and end of that - the rest is mandated (and much needed) resting.

schubart2 days ago
Do all your flights start or end in London?
jameshardingschubart2 days ago
Almost all, but not quite all!

For example, about 6 months ago, I operated the following trip pattern:

LHR -> GIG -> EZE -> GIG -> LHR

The Rio to Buenos Aires and back "shuttle" flight was a day of flying on its own, with 24 hours rest afterwards before flying back to London.

frenchman_in_ny2 days ago
Very cool. One nit is because of the graph smoothing, it looks like you have negative hours P2 time 2014-2015 and Heavy time 2021-2022.

I thought the ICAO "Heavy" designation applied to aircraft above a certain MTOW instead of time? Wouldn't the time designation be as acting as relief captain/FO?

In any case, great visualizations.

jameshardingfrenchman_in_ny2 days ago
The term "Heavy" (for wake separation) in the ICAO context is 100% based on MTOW! In the context of this graph, these are flights where we carry 3 or 4 pilots, and I am not in the seat for takeoff or landing. We still operate at the control during the middle of the flight when the other pilots are on their rest break. Not sure where the name "Heavy" came from here, but is it just the term used at my airline (and probably others? Some use "relief crew")

Good call on the data smoothing - I will look into a fix for this!

drellybochelly2 days ago
This would be pretty cool for Flight Simulator fans too!
malteeez2 days ago
Awesome data and perspective!

Do you have any takes on the performance and quality of ATC systems across your most frequent routes? Have you noticed any patterns in terms of delays, communication efficiency and related..

sandspar2 days ago
How cool! At the end of the movie "Braveheart", the narrator describes his fellows as "warrior poets" - basically the ideal Scottish man. I think that "design-literate pilot" is a reasonable modern version of at least one ideal type of person to be. Congratulations!
qq662 days ago
What did you use to build the globes?
jameshardingqq662 days ago
globe.gl and a little bit of Flask/Python to wrangle the data
shalev1232 days ago
That's fascinating! Have you thought about sharing your data visualization methods with other pilots? It could help improve safety communication and training.
dkga2 days ago
Fascinating!
kinow2 days ago
Amazing visualization. Any plans to add more features to each log? e.g. difficulty of taking-off/flying to/landing, or trajectory with/out turbulence, etc.?
jameshardingkinow2 days ago
Thank you! I have text comments/remarks for all particularly memorable flights (for all of the above reasons you mentioned, plus famous passengers, family on board, etc), but some of those are quite private and also difficult to show in a visualisation like this.

I would love to track more data over time, but balancing that with it being easy to collect is the challenge!

pcollins123 jamesharding2 days ago
You could summarize that data using some form of machine learning. A good new skill to develop. Then you don’t need to share the exact details, just a count per category. E.g. personal incident (32), late take off duty to X (23), passenger medical incident (15). Hopefully in aggregate form that data is less of a privacy issue and less of a commercial risk for your company.
drpizzamd2 days ago
just out of sick curiosity...something about flights with ill-behaved fliers. Ultimately, as one who does not work in the airline business and has flown often, how often are pilots and staff perturbed by customers?
jameshardingdrpizzamda day ago
I have only had very few incident with ill-behaved passengers, and none that escalated. Ill passengers is a different story, especially on longer flights! With no hard data to back this up, I think that medical emergencies are probably the most common form of abnormal event that we encounter.
jbergler2 days ago
Very neat, something that would be cool to see is the commercial vs GA split over time. In your graph by type it’s quite hard to see how much flying you still do on your own time!
jameshardingjbergler2 days ago
I do actually have my GA flying included in this data, it’s just pretty minimal these days! GA flying is very expensive in the UK.

I still fly our family airplane when I am home in Canada, but it only amounts to a few hours a year. You can see the flight time for “7KCAB” very slowly trickling up in the cumulative time graph at the bottom.

jbergler jamesharding2 days ago
Oh cool, neat plane to have! And on desktop that's definitely easier to see than on mobile.
a3w2 days ago
Why are airline pilots considered cool, while bus drivers are essential infrastructure, but do basically the same job — getting people from A to B?
lostdoga3w2 days ago
Put me behind the wheel of a bus and I'm pretty sure I could get it somewhere safely.
mathattack2 days ago
Thanks for sharing. Folks who combine dual passions are a fountain of creativity.
cosignal2 days ago
Hey, are you perchance the famous 'First Officer Blunt'? Or... are you 'Captain Allears'?
Waterluvian2 days ago
Fun thing I can’t stop poking at: if you go to a globe view, zoom out a little, drag to focus on a pole, then pinch to zoom, you go for an absolutely wild ride.
xyst2 days ago
Should add the amount of CO2 emissions per flight since you know the model of plane(s). And if you have occupancy data for each flight, can even determine efficiency.
Crier10022 days ago
This is awesome and I love it. Thanks for sharing! I'm just wondering what made you wanna be a pilot instead of sticking with a regular software engineering career, especially since you’ve got a degree in that and, of course, your talent here :)
jameshardingCrier1002a day ago
Thanks! My father being a pilot certainly played a large part, not in the sense that he forced me into it, but rather that I had the opportunity to sit on the jump seat as a kid (pre-9/11) and it planted the seed quite early.

After finishing my degree, British Airways had opened their cadet pilot scheme - windows of opportunity like that are usually short and infrequent, so I went for it! The nice this is that I can still code and keep up on the software engineering trends (what I tell myself while checking HN for the n-th time in a day) on the side, and I think it is also a safe set of skills to have in case I can no longer fly (pandemics, losing my medical, etc)

uwagar2 days ago
considering the recent uptick in fear of flying, this calms me!
jameshardinguwagara day ago
So happy to hear that!
ccorcos2 days ago
You should add time dilation to your list of statistics! You’re probably around 5 microseconds younger than someone who stayed in Earth!
_dark_matter_ccorcosa day ago
Okay but I commute to work so give me a picosecond back please.
jameshardingccorcosa day ago
Flying Eastbound across the international date line also kind of counts as going back in time, right?
ljsocal2 days ago
Impressive and very cool! You might consider making this into a globe route generator that folks will pay for. See https://anim8map.com/

As an active airline passenger for the past 50 years, I wish I’d kept a log my many hundreds of flights. Some day I’ll sit down and attempt an educated guess.

jameshardingljsocala day ago
Cool website! The idea of rendering it to a video is an interesting one.

I had thought that a challenge trying to turn something like I have built into a business would be that people would be reluctant to pay for (yet another) subscription for something like this that they probably look at infrequently.

ngoel362 days ago
If you want something similar for yourself personally, I've found Flighty on iOS to be amazing https://apps.apple.com/us/app/flighty-live-flight-tracker/id1358823008
BOOSTERHIDROGEN2 days ago
This why I love everyone with compsci background.
JustTima day ago
That was fun
simonjgreena day ago
Noticed the last logged flight is KDEN>EGLL. I do that KDEN<>EGLL route many times per year, sometimes multiple per month. I wonder if I’m ever on a flight with James :) Will have to listen out!
jameshardingsimonjgreen15 hours ago
If you ever hear my name on the PA, please come up to say hello! In fact, after the flight when it is not busy, we are always happy to have visitors in the flight deck. Feel free to drop me a message any time too, the A350 is a pretty small fleet, so the chances are higher than one would think! :)
inoffensivenamea day ago
I love what you've done with your logbook, but the coolest part of the page was the photo of you on the flight deck with your Dad.

I'm an airline pilot here in the US and it would be the privilege of a lifetime to be able to do that with one of my kids.

jameshardinginoffensivenamea day ago
It truly has been the career highlight for me! He will be retiring in a few months, so we have the last flight together planned aleady.

Hopefully you will be able to have the same experience with your kids! What fleet are you on currently?

jorisborisa day ago
That destination matrix is something I’ve never seen before!
HichamCh9 hours ago
That's a super cool way to visualize your career! Did you use a specific mapping library or build something custom?