Ghost

John O'Nolan talks about getting 30,000 mailing list signups, raising $300,000 on Kickstarter, and growing his open-source publishing platform to $750,000/year.

Hello! What's your background, and what are you working on?

Hello! 👋🏻  My name is John O'Nolan, and I run a not-for-profit technology foundation which makes technology for journalists. Our main product is called Ghost, which is a modern open-source publishing platform.

In the current publishing landscape there are two main choices: (1) old, unfocused open-source platforms which are tired and broken, or (2) new, amazing publishing systems which are completely proprietary and closed. Ghost combines the best of both worlds. A bleeding-edge technology stack, completely focused on the needs of journalists and publishers, released as completely open-source.

We launched Ghost about 4 years ago with a $300,000 Kickstarter campaign. Today, it's a sustainable healthy independent business with $750,000 annual revenue and a team of 10, and users including NASA, Square, Vevo, Sky News, Mozilla, Zappos and so many more.

Ghost's Website

What motivated you to get started with Ghost?

Ghost was born out of frustration with existing solutions. Before starting this crazy journey, I was a very active contributor to WordPress core as the deputy head of the UI group. I watched as WordPress grew up from its humble roots as a blogging platform and evolved into a fully fledged CMS, catering predominantly to business/brochure websites.

My interest, though, had always been firmly in how WordPress was used for publishing and journalism. And so I wondered what it might look like if WordPress was rebuilt with modern technology, eschewing all of the years of bloat, and focused purely on that one use-case. I wrote down my thoughts in a blog post, and about 1 week and 250,000 pageviews later, I decided to start working on the idea properly.

At the time my main job was as a freelance web designer, so I put all of my client work on hold to pursue this idea, and lived off my savings.

What did it take to build the initial product?

Initially I got a ton of offers for development help from people on Hacker News, which materialized to precisely nothing. I emailed my best friend, Hannah Wolfe, one evening complaining about this — when she promptly offered to help out herself. About 24 hours later she sent me an email with an attachment of Ghost.zip, which was such an amazing contrast. I couldn't believe she'd actually written code and sent it to me that fast. We've been working together ever since!

We spent the next 3 months after my blog post hacking on a very basic prototype in preparation for the 2nd launch. I had about 30,000 people on a mailing list, at this point, who had expressed their interest from the initial blog post. They all said they would use it. The next question was: Would they also open their wallets? For this, we went to Kickstarter. If we could get enough validation for people to actually fund the development of the software to a production-ready state, then we knew we would be on to something.

Just to give you an idea of how basic the MVP ("minimum viable product") was that we took to Kickstarter: A good 50% of what we showed in the video was faked. It was a real, working Node.js application, but the majority of it was missing. Huge parts of the UI were simply screenshots of UI mockups with loading animations. We knew we could code this if we needed to, but it didn't make sense to put in all that work just to make a video that might flop. So we did the minimum!

What marketing strategies have you used find users and grow?

Our Kickstarter project had an initial goal of about $30,000. We hit that in 11 hours and went on to raise roughly $300,000 via Kickstarter, and another $50,000 in sponsorships after the campaign ended.

Each step in this journey was building an engaged audience following along with the progress of the project.

My blog had a few thousand subscribers who were the first to be notified when I wrote the original idea post. That post had an email signup form which generated about 30k subscribers interested in finding out if it would ever become a reality, and those 30k people were the first to find out when the Kickstarter campaign launched.

When it did launch, all of the press and interest around the campaign further grew that list from 30k up to around 80k, and so when we actually came to launch the first version of the product about a year after the original blog post, we had this huge captive audience of people waiting to hear about it.

As a result, when we finally did launch, we got well over 100,000 signups on day 1. Each step contributed towards the next.

We didn't employ any particularly clever marketing strategies. It was all very logical. Tell people what you're going to make, provide ways for them to be involved and to stay up-to-date on what happens, and repeat. We tried to just keep everything as simple, honest, and high quality as possible.

People are inundated with spammy marketing tactics. Sometimes just being honest and understated garners more respect and interest, in my experience.

How does your business model work? What's the story behind your revenue?

As a non-profit organization, our business model is even more critical to us than most. As a non-profit, we can't take funding and banks aren't keen to loan us money. We knew we had to find a profitable business model quickly, before the Kickstarter money ran out, and this was completely planned from day 0.

Our idea was that we could create a sustainable open-source business with a virtuous cycle, as follows:

  1. Hire amazing developers to release great open-source software that people would love.
  2. Make great software and attract a large number of people who want to use it.
  3. You need hosting to run the software, so offer a premium PaaS ("platform as a service") which makes that easy and affordable.
  4. All of the revenue from the premium platform goes to the non-profit foundation, whose mission is... => Go to step 1.

This was always the plan. We didn't know it would work when we launched, but it was always a model that we wanted to prove.

And we did.

11 months from launch, we hit profitability and became completely self-sufficient.

Ghost's Revenue

Ghost has always had a very organic and steady growth rate. It's not exponential. It's just healthy, steady growth which is 100% ok with us. We now no longer have revenue goals. We just make sure we stay profitable, and beyond that we focus entirely on why we're doing all of this, and what we can build that will make us proud.

One key lesson we learned early on was not to charge too little. $5/month customers are just terrible. They have the highest rate of failed payments, the highest rate of credit card fraud, the highest amount of support tickets submitted, and are the least friendly people. We've doubled our prices 3x since then, and each time we do, we get nicer people who value the product more and create fewer problems.

At this point I would never create a business ever again which charges less than $10/month.

What are your goals for the future, and how do you plan to accomplish them?

Right now we're moving heavily toward journalism and solving the problems in that space. We've just launched a $45,000 journalism accelerator program which I'm incredible excited about. It outlines a lot of our plans for 2017.

What are the biggest mistakes you've made or challenges you've faced?

We made two really critical mistakes early on. The first was subcontracting our business website / billing platform / back-end to be built by an agency in Ruby, when our main language is JavaScript. There was nothing wrong with what they built, it was just that when they were done building... it was impossible for us to maintain. Who'd have thought?

The other one was that we started out on hardware servers. This was right at the early stage of cloud VPS services catching on and becoming mainstream, and we were just behind the curve. It was an expensive mistake.

What were your biggest advantages? Was anything particularly helpful?

We hit a good time in the market where blogging was having a bit of renaissance and was a hot topic. We were also building the first mainstream open-source consumer Node.js application in the world (and now the largest), which was helpful.

Ghost is not a revolutionary idea. It's just a good idea, which was born out of years of experience and a very clear understanding of both the product and the wider industry. Market-specific experience is probably the biggest and most under-valued asset that you can bring to any project. Few people ever talk about it.

Experience is most valuable when it comes to deciding all of the things not to do, because you know where the pitfalls and traps are. The more you know about your market in every possible way, the better.

What's your advice for indie hackers who are just starting out?

Honestly my single piece of advice would probably be to stop looking for so much advice. Shut the fuck up and go and build something.

I see so many people devouring startup books and blog posts and talking about them incessantly. They try to just endlessly research and talk about what works, because they're too afraid to actually jump in and do something.

If you feel like you have no idea what you're doing, well, welcome to the club. None of us have any idea what the fuck we're doing, and anyone who says otherwise is lying. All of us are just guessing, experimenting, trying things. Not a single one of us was ever "sure" or "ready" or "confident" at any point. At a certain point you just have to jump.

Stop reading. Start building.

Where can we go to learn more?

Drop me a line on Twitter or in the comments if you want to chat. But you shouldn't want to chat. You should want to build things! Go build things :)

Subscribe for new interviews every week! 🤗

Courtland here! I regularly interview the indie hackers behind profitable apps and side projects like Ghost. Enter your email below, and I'll send you new interviews when they're out. Feel free to unsubscribe whenever you want.

Share this interview:

Loading comments...