Austin Burdine is a Ghost
After over 11 years of off-and-on contributions to the Ghost project, I've finally joined the team as a full-time Senior Platform Engineer 🎉
As one of the longest-tenured open-source contributors to Ghost itself (excluding employees of the Ghost Foundation), I thought it'd be interesting to tell the story of my journey towards discovering, using, contributing to, and finally joining, the Ghost project, as well as the impact it's had on my life and career.
Ghost has been a part of my software development work for almost all of my professional career (and a whole third of my life at this point 👴). The project and community around it has provided invaluable experience, and has shaped a large part of my own personal ethos around software development/open-source in general.
Chapter 0: The Pre-Ghost Years
I don't remember exactly when I started "programming." My dad worked in software development for all of his career, and so I likely inherited at least some of my interest in computers from him. He would upgrade his machine every few years, and my younger brother and I would get the hand-me-down computer parts that we'd use to put together our own rigs. I ended up probably frying several Intel Pentium-era CPUs 😅, and installed Windows XP from a MSDN disk more times than I cared to count, but I was fascinated by how the systems were put together.
In my first year of high school (2010-2011) I got a MacBook for the first time, and my friend Scott and I ended up messing around individually with HTML and JavaScript (oooh, I could get an alert to pop up on the page! Such elegance.) I remember loving the immediate feedback at the time of making a change to a file and immediately seeing it reflected in the browser. That experimentation with web development lead, naturally, to PHP. I had absolutely no clue what I was doing at the time, and PHP was an atrocious language to start with back then because it let you get away with a lot of bad patterns. I also experimented a bit with Java, primarily to make Minecraft plugins for CraftBukkit. Again, I had no idea what I was doing, but I was able to copy/paste enough reference code together to make stuff work.
My last year of high school (2013-2014), I ended up taking an AP Computer Science course at my high school, where we used Java primarily. That was a definite step up, learning how actual sane programming languages worked and learning at least some better practices. This course ended up informing to a large degree what I wanted to study at university – I don't exactly recall what I had planned to study prior to that, but I ended up going to college for Computer Engineering.
I think it was also about this time that I first heard of Ghost's Kickstarter. I didn't really have any disposable income at the time, so I can't count myself among the folks that originally backed the project, but I had been doing some off-and-on writing on Wordpress, and saw Ghost mentioned in those circles as a potential simpler alternative.
Chapter 1: Early Contributions
In August of 2014 I started university as a Computer Engineering major. Alongside my engineering coursework, I was working part-time at the university library developing web applications with PHP and a newer JavaScript front-end framework at the time: Ember.js.
I recall spending a lot of the early months just figuring out how to get the WAMP (Windows, Apache, MySQL, PHP) stack installed on the school's Windows 7 machines (spent a ton of time debugging missing DLL files 😫), but eventually we started looking at getting Node.js running as well, to support development of the front-end apps with Ember-CLI. Also, as became relevant to my Ghost-CLI work later, I learned some basic linux server administration maintaining our backup server.
At some point along this process I ended up circling back to Ghost - it had been around for a year or so at that point, and it was one of the more prominent open-source projects using Ember.js. I can't remember exactly when I first started looking through Ghost's codebase, but hilariously I do remember looking at index.js files and asking myself: how do I configure my Apache server to run these index files? Oh, the naivete.
By March-April of 2015, I had changed my major to Computer Science and had enough experience with Node.js and Ember to consider contributing to the Ghost codebase. I don't remember the exact reason why I started contributing (between a fairly heavy course-load, a 20hr/week part-time job, and spending time with my girlfriend I certainly didn't have loads of spare time 😅) but I decided to hop onto Ghost's open-source contributor chat (it was IRC on Freenode at the time) and offer to help contribute some work to different features that I found interesting. At the time, this is what the Ghost admin looked like:

Over the Easter long weekend, I made my first PR to the Ghost repository, adding a basic code editor and styling to the Code Injection interface. I ended up closing that PR in favor of my second one (using a different library), and I had my first merged PR on April 6th, 2015. I also worked on a second change – password-protected (private) blogs – that same weekend. As an aside, I'm pretty proud of the fact that those contributions have, in some shape, stuck around in the codebase since then.
My fresh new merged PRs were shipped in the Ghost 0.6 release line, and I'd made my way onto the contributors list in the About page 😄

Throughout that summer, while running a climbing wall/zipline at a summer camp, I continued to make various contributions to Ghost, both to the backend code and the Ember.js frontend. The Ghost team also released "Zelda", a ground-up re-styling of the entire admin:

Chapter 2: Core Team & Ghost-CLI
I continued contributing to Ghost throughout the fall/spring of my second year of university, and by February of 2016 I was invited to join Ghost's "Core Team," a group of folks with permissions to approve/merge PRs to the Ghost codebase. In addition to handling PRs, I was also responding to self-hosting support questions in the Ghost Slack channel (which had grown fairly quickly after opening it up to the broader community).
At this point, I was also maintaining a couple of Ghost blogs of my own, and was starting to get annoyed with the... complicated... process of installing and updating Ghost. Installing a new instance required manually downloading/unzipping Ghost, installing dependencies, and then setting up some sort of process manager to keep Ghost running as a daemon process. On top of that, if you wanted TLS, you had to set up nginx and LetsEncrypt configurations manually. This wasn't an uncommon problem either – a main reported issue in the Slack help section was with issues related to dependency installation, process management, you name it.
By the time summer 2016 rolled around, I had started experimenting with a Node-based CLI tool that intended to automate the process of installing and updating Ghost, based to an extent on my own experience with hosting Ghost as well as some installer work I'd done for our PHP apps at university. In July, Hannah (Ghost's CTO) told me about the Ghost 1.0 roadmap, and the desire to have an official Ghost-CLI to go with the full 1.0 release.
With that, I started working on the initial version of Ghost-CLI, releasing the first alpha version in September, and continuing to work on it throughout the school year.
Chapter 3: Thailand
At the start of my third year of university, I did a re-evaluation of all my courses/credit-hours and realized that I could essentially graduate in 3 years instead of the typical 4 for a bachelor's degree. This necessitated several class changes and a ton of make up work (I made this decision about a month into the school year).
I was sitting in one of my classes one afternoon when I got this message from John (Ghost's CEO) out of nowhere:

Now, the "sane" response to this query would be: "I'm sorry, but I'm in school at that time and have classes, so unfortunately I have to decline." With the extra load of trying to graduate in three years and all the other work I had going on – I was still working ~20hrs/week for the school library and was essentially the student developer team lead at that point – I probably should have gone with the sane response. However, I'd only been out of the country a couple of times at that point (both times as a younger child), and with the promise of an all-expenses-paid trip to Thailand, I essentially told my professors: "I'm gonna be gone for 2 weeks halfway around the world, let me know what make up work I need to do ✌️," and ended up getting my flight booked.
That trip was, hands down, a couple of the most insane(ly fun) weeks I've had in my entire life.
On top of being sleep deprived as hell flying halfway around the world, the entire Ghost team was heads down finishing up the rewrite of the Ghost.org website (code-named "Patronus"). I was quickly deputized as a temporary Ghost employee, and jumped in to help where I could. Over the week and a half of being there, we probably spent ~100-150 hours doing nothing but working on the Ghost website. In retrospect that's a crazy, unsustainable pace, but there was also a shared manic energy amongst the team of everyone working towards a shared launch goal.
There was also a shark costume, brought along as a joke in reference to Ghost's partnership with DigitalOcean:

All of this work culminated in shipping the new version the last full day of the trip, and we all piled into a van to travel to a nearby Chiang Mai night market to get food. (The literal "bus factor" was brought up by someone, given that the entire Ghost company, and thus the bulk of the contributors to Ghost itself, were all in one vehicle at the same time 😬). Even crazier, the fancy new TypeKit font the new Ghost.org website used wasn't loading for some reason, and so several of the team members were scrambling to fix it in the back of the van while we were being driven to get food. Libations were consumed (some even while wearing the shark costume), everyone had fun.
We even got t-shirts made! (Funnily enough, I ended up being the mule and bringing them from the US where it was cheaper to ship them 😅)

To top the whole trip off, I wrote an entire school paper on the ethics of self-driving cars while on an 8-hour overnight layover in Qatar, got back to Chicago, and then played principal viola in our school's Christmas concert that evening. (I then, understandably, crashed for a solid 12 hours 😴).
Other than maybe a little less work, I wouldn't change any of it.
Chapter 4: Ghost(-CLI) 1.0 and beyond
After the craziness of the team retreat, I went right back to working on Ghost-CLI. The tentative launch date for Ghost 1.0 was the summer of 2017, and there was still a ton of work to get done beforehand. In the summer run-up to Ghost 1.0, I was taking a couple of summer courses to finish up my degree, while at the same time working full-time at my first post-university job at Red Ventures. On top of that, I was still cramming to get features ready for the Ghost-CLI 1.0 release (anyone sensing a theme, here? 😅)
After many sleepless nights on my part, and probably an unhealthy number of energy drinks on my part, Ghost and Ghost-CLI 1.0.0 were shipped in late July.

Things went back to a more sane cadence after that – I continued to work on shipping improvements and bug fixes to the CLI as I had time (primarily on weekends), and we continued to make improvements to the self-hosting experience. At some point I started contributing to the Ghost Docker image, and kept contributing to that alongside the CLI tool.
When 2018 rolled around, I was invited to go on another Ghost team retreat, this time in Windischgarsten, Austria. This retreat was quite a bit more structured than the last one – a couple of days were baked into the schedule for skiing – but the shark costume did still made an appearance 😛
Later in 2018, Ghost 2.0 was shipped with the brand-new MobileDoc editor (it had been shipped in a partially-complete state with Ghost 1.0) and various work continued on making the CLI as easy-to-use for self-hosters as possible.
At this point, work was starting to slow down on the CLI, and I was contributing less frequently overall to Ghost itself – I got married in June of that year and had been fairly busy with my day job, which was getting more and more involved as time went on. I was also probably dealing with some burnout at the time, working as much as had been for the last three and a half years.
Chapter 5: Ghost 3.0
In mid-2019, I applied to work at Ghost for the first time as a product engineer. My team at Red Ventures had gone from 13 people down to 7 in the matter of a couple of months, and me as a mid-level engineer had become essentially the most senior engineer on the team. There was a period of a few weeks where I worked probably 60-70 hours in a week to handle some of the load after the team shrank, and in the middle of that I looked to see if there was some way I could make working for Ghost make sense for me financially.
Unfortunately, things didn't pan out then, but I did get to go on my second trip to Thailand in November, where we had a much more structured time of it than the first trip. We also got to do a Thai cooking class:


Chapter 6: 2020-Present
When 2020 hit, my contributions to Ghost-CLI shrank to mainly fixes around new major Ghost versions. A couple of times a year, I'd pop my head up, merge some fixes, release a new version, and then pop down again.
Despite not contributing a ton during this time, I did keep an eye on the Ghost Careers page to see if there was ever a job opening that lined up with my skill set and would work financially.
Finally, in early 2026, I saw the opening for platform engineering while I was taking the first part of my paternity leave after the birth of my daughter in January. The job aligned pretty closely with the work I'd been doing for the past couple of years at Credit Karma (I'd joined there in 2022), and I was also becoming disillusioned with working in large corporate environments (Credit Karma was/is in the midst of fully merging with Intuit, the parent company that acquired CK in 2021.) I applied, interviewed, got the offer, and now here we are. 😄
Acknowledgements
I began contributing to Ghost during some of the most formative years of my career. While I've learned various things from members of every team that I've been on, the feedback I received from the Ghost open-source community early-on helped shape my approach to software, to giving/receiving feedback, and to honestly, compassionately communicate with others in general.
Ghost was one of the first real projects I worked on that I could point to and say: "I helped make that happen!"
Ghost allowed me to be part of a community where I could use my knowledge and skills to directly help solve problems for people from many walks of life.
Ghost introduced me to people around the world, from different cultures and backgrounds.
Ghost allowed me the opportunity to visit countries and experience cultures that I wouldn't have likely experienced otherwise.
Ghost gave me a sense of ownership and autonomy over a project early-on that built up my confidence to tackle hard problems when they're presented to me.
Ghost showed me that it's possible to build and make software that provides value to individuals and to the world, and to still make a sustainable business from it.
To John and Hannah (and everyone else at Ghost throughout the years): thank you for creating a community where a young inexperienced person like me could come to learn and grow, to gain experience and autonomy simply by showing up and putting in effort, and to find fulfillment by paying that same mentality forward outside of Ghost. ❤️
Here's to many more years of supporting independent creators!
Member discussion