Thursday, July 9, 2026

Reflections on 20 years of MyFlightbook

July 9, 2006.  That is the creation date of the oldest account on MyFlightbook, so I'll use that as MyFlightbook's "birthday".  Ironically, it's not even mine - I'm #30, somehow, more than a full year later (in November of 2007)!  At some point early on, I must have deleted and recreated my account, which means that MyFlightbook is actually a bit more than 20 years old now, but July 9 2006 is the best birth date I have.

I think 20 years on is a good time to take stock of things.

I had left a career at Microsoft and Expedia at the end of 2005, having spent 15 years as a program manager, group manager, and ultimately vice-president managing software development teams.  While very rewarding work, I had gotten very disconnected to the underlying technology, so I wanted a coding project.  I - like almost everyone then - used a paper logbook, and I found answering insurance company questions and filling out 8710 forms incredibly difficult.  Perfect - I had found my project.

From the start, I realized that I wanted this to be web based, unlike the then-standard of shrink-wrapped software for Windows or MacOS.  This would provide a number of obvious technical advantages such as access from anywhere, multi-platform support, and centralized logic that could be updated without new releases, but it would also enable new opportunities that the web enabled such as taking advantage of maps or images or even social media (Facebook had just started in 2004, and Twitter in 2006).


Home page screenshot, Jan 2007 courtesy of Archive.org; 
you can see that I once could design a killer Windows 3.0 user interface...
and clearly that's where I still remain!

Being ex-Microsoft, I chose IIS with ASP.NET and C# as my platform and started learning how to integrate MySQL for the database and how to configure a firewall for the server in my basement to allow for public access.  Yes, for the first several years, MyFlightbook ran out of my basement!  (Don't worry - I moved to a colocation facility, and then about 8 years ago moved fully into Google Cloud, so it has all of the modern data center hardware, redundancies, security, and monitoring that you'd expect).

Since then, the site has been (almost) completely rewritten (going from ASP.NET to MVC - I clearly like to stay on the cutting edge of whatever was hot 15 years prior!), I've added an iOS app (2009, in Objective-C that I rewrote in Swift a few years ago), and an Android app (2010 or so, originally in Java and since rewritten in Kotlin). 

Early on, I invited my pilot friends to give it a try and one of them created the aforementioned oldest account.  The user base grew slowly at first - I didn't spend anything on advertising (I think I once spent $100 on a Google ads trial, but didn't think it was worth it so never spent anything more), relying instead on word of mouth.  It took until 2010 before I hit 1,000 users.  I still rely entirely on word-of-mouth, and while I generally don't like to share super precise user counts publicly, as of this writing the number is comfortably into 6 figures with pilots from literally all over the world; all from pilot-to-pilot recommendations.  I don't have hard data about either the number of worldwide pilots (1.5-2 million, perhaps?  It's about 900K in the US), nor do I know how many MyFlightbook users hold certificates  of some level (I'd guess most), but I'm pretty confident that MyFlightbook accounts represent a double-digit percentage of the global pilot population.  A few months ago, I started using the tag line "The world's favorite free logbook", and I'm comfortable that assertion is true.

I came out of a GA background, which informed a lot of the design and original features, but the best ideas have always come from pilots who bring me scenarios I had never considered.  Today I suspect a majority of the users are GA pilots, but a majority of the flights being tracked are for airline pilots (which makes perfect intuitive sense - there are more GA pilots than airline pilots, but the latter fly a lot more frequently).  But I also have a good number of military pilots, balloonists, drone pilots, and even Microsoft Flight Simulator/X-Plane enthusiasts who use the platform.  This wouldn't be possible without people sharing their needs and use cases with me.  I love figuring out how to solve interesting challenges like these!

I've often been asked why I give MyFlightbook away instead of charging for it.  There have always been a few reasons why.  One is that if I charged for it, it would feel like a job, and I didn't want that - I'm insanely fortunate that I have other sources of income that give me time to devote to this, and I love that I can get into a coding frenzy for a week, and then go "dark" on new code for an arbitrarily long time.  Another is that I feel like flying is already expensive enough, and that everybody should have an electronic logbook; this shouldn't be one of those added expenses.  And finally, it was a way to give back to the community.  

However, in late 2013, I started accepting donations; I'm happy to report that I get more than enough in donations to cover out-of-pocket expenses such as hosting, domain and certificate registrations, and the like.  (I have never paid myself for my time, though; if I had done so, I'd have closed up shop years ago!)  More than the monetary value, donations provide a near-real-time indicator of the relevance and validity of MyFlightbook: $10 from somebody who owed me absolutely nothing is vastly more meaningful to me than $100 from somebody who formally purchased something from me.  The latter is just a business transaction; the former is a sign of appreciation; it is why I still enjoy doing MyFlightbook more than 20 years later!  

There have of course been a few hiccups over the years, the worst being when 9 years ago when I was still hosting on a physical machine at a co-location facility and I accidentally turned on the firewall for all traffic - including the incoming network connection I used to manage the machine itself, causing the site to be down for about 36 hours while I figured out a way back in. That was when I decided to move to Google Cloud; the good news is that no data was lost - I cut over to a backup server in my basement and migrated changes from that machine to the production server once the production server was available again.

But overall, it's actually been quite smooth, and typically the only downtime is the minute or so when I take out an update or when Windows Update needs to run.

MyFlightbook has grown considerably, in functionality as well as user base.  It is an open-source, community project, and while I've written the vast majority of the code, I have had invaluable help from others, who have contributed things like language translation, user interface designs/stylesheets/logos, and product support/monitoring.  I even wake up occasionally in the morning and discover that someone who wanted a feature wrote it themselves and submitted a "pull request" asking me to merge their code into the codebase!  And it has grown through partnerships with  complementary organizations/services as well, such as cloud storage, airline scheduling systems, debrief services, or even (in the most recent example) aircraft logbooks.

But the most important contributors to MyFlightbook are you, the pilots who use it.  100% of data about aircraft, models, and manufacturers comes from you, and your edits help not only make the database  of these what I suspect is the most complete on the Internet, you also help ensure that it is also the most accurate.  There are (as of this writing) nearly 375,000 registered aircraft in the system, representing nearly 7,000 models of aircraft, and which are used in over 26 million distinct flight entries.  You've even contributed over 4,400 airports/heliports/seaports that had otherwise escaped the attention of the FAA and other sources of such data.

So please join me in wishing MyFlightbook a happy 20th birthday, and lets look forward to another 20 years of logging the world's flights!