Anatomy of a Profitable Side Project: StatusGator 2016 Review

Background

In 2016, my side project StatusGator garnered enough paying customers to be profitable. I have wanted to document and share what I've learned along the way for months. But doing so requires confronting the reality that my side project is not the runaway success that I had hoped it would be, but rather a useful tool for myself and for others, that can exist forever thanks to the fact that it ekes out a meager profit on paper. In fact, StatusGator wouldn't be profitable at all if I were to value my time anywhere above nil, but I suspect that's true for quite a lot of small businesses.

StatusGator aggregates status pages. It monitors the status pages of all the services you use, then aggregates them into a single status page that you can share with your team. It optionally alerts you to status changes via Email, Slack, or anything else so you can stay on top of what's happening with the services you depend on. StatusGator's origin story involves hours spent debugging an issue for a client, which turned out to be caused by a Facebook API outage. Why hadn't I thought to check their status page first!? I launched StatusGator in January 2015 and my goal was $1,000 of monthly recurring revenue by June 2015.

A peek at the financials

StatusGator makes a profit on paper, thanks to the fact that I built and maintain all of it myself and I work for free, supported by other gigs. The handful of paying customers I have do cover the minimal hosting expenses and then some. StatusGator currently makes about $160 per month, quite a bit short of my original goal. Here's the breakdown:

Recurring Revenue:      $ 330  
Stripe Fees           - $  10  
Heroku                - $ 154  
Digital Ocean         - $   5  
-----------------------------
Net Profit:           = $ 161 /month  

The revenue comes from 22 paying customers who pay either $9.99 or $19.99 a month. The expenses are almost entirely Heroku and third-party add-ons, along with Digital Ocean which hosts this blog, and of course the 2.9% off the top to Stripe. There are a few minor expenses like domain names, DNSimple hosting, and some MailChimp credits which are not significant amortized out over the year.

A paid StatusGator account just lets you monitor more status pages. The Free Forever plan allows 3 status pages to be monitored, though I have experimented with various plans over the last two years and have always allowed people to keep their plan. Therefore, some users get 5 or even 10 services monitored for free.

The remaining 1,159 users are on the free plan. Which means that 1.8% of the users pay for the resources needed to support the other 98.2% of the user base. Fortunately, StatusGator could scale vastly without significant additional hosting cost so even if that minimal paid conversion rate continues, it's still maintainable.

I am the worst marketer

Chart of StatusGator user growth

StatusGator's growth has been completely organic and mostly linear. I have tried all kinds of marketing: Facebook, Google Adwords, Twitter, but just organic search engine traffic and word of mouth have been the only effective channels. A post I wrote early on for StackShare has continued to trickle in users. I occasionally reference StatusGator in posts on HackerNews, though I try to do so tastefully so as not to blatantly advertise. That usually brings a bump in users.

The biggest lesson learned is that I am a terrible marketer and that is reflected in the pretty meager conversion of free customers to paid customers. I'm dreadfully afraid to spam people, so much that I stopped sending email newsletters with new product features. I don't have good insights into how to reach my core audience of developers and start ups.

I've also discovered that products aimed at even modestly sized enterprises need completely different features than consumer-focused products. Multi-user sign on, annual billing, access to receipts for expense reports, these are all things that anyone who is working on a team needs in order to make the friction of use low enough to justify the effort. I've built some of these, but hope to add a lot more team-oriented features in the future.

2017 and beyond

I get immense personal value out of StatusGator. The alerts to Slack about what's up and what's down are just absolutely essential to my workflow. So despite the minimal profit generated, I expect StatusGator to live on forever. In fact, I'm emboldened to build out some more features that would be useful to myself, hoping that others might find them useful as well. An iOS mobile app would allow me to consume notifications on my preferred platform. A calendar-like feed of upcoming maintenance schedules aggregated from all services I use, could help me plan for downtime better. And more granular notification selections would help me keep the noise down on services with many moving parts such as AWS. If you have further ideas, I'd love to hear them.

Does StatusGator have an exit strategy? Not specifically, as I'd be happy to keep running it forever though I would like to make it a more substantial slice of my income so I can justify the time I spend keeping it running. I had one offer to buy StatusGator but wasn't motivated enough by the small amount offered, and it would not have been valuable enough to the acquirer for them offer more. Ultimately, my dream is not raising money, growing at lightning speed and selling out to the man, but rather building a sizable enough income stream that I could quit my consulting work. Isn't that every hacker's dream?