7th time lucky: Building a successful SaaS product.
“…you have to be stupidly optimistic to win at business since most of the odds are against you.” — @jaltucher
Earlier this year my Shopify app Notify (now Fomo) was acquired. I was lucky enough to shepherd it through tremendous growth since its launch three years ago.
A decade of side projects came prior with mixed success. There’s no perfect recipe for a SaaS win - I’ve built beautiful apps that nobody used and unimpressive apps that got crazy popular. All of these experiments gave Notify a leg-up and I’m proud of its success.
Here are my takeaways for a successful SaaS venture.
Find your market first.
This eliminates half the battle. Early in my career, I’d adopted the mindset “all you need is a good idea” but good ideas are plentiful. The hard part is finding your market.
For Notify, Shopify store owners were the perfect market. The Shopify app store wasn’t saturated and my existing (free) app had generated a couple thousand leads — I could promote Notify immediately. Plus, I was familiar with the ecosystem and a built-in billing API made accepting payments a breeze.
Charge from day one.
Don’t start with freemium just because you’re scared of charging. Validate your product by asking for money. If you can get just one paying customer, more will follow.
I priced Notify at $14.99/month from the get-go. Relative to the App Store at the time, this seemed a little steep — but it paid for itself: an excited customer ran an Optimizely experiment and saw Notify increased their revenue by 19%. The higher price point seemed to create a feeling of exclusivity and attracted a loyal crowd that were passionate about my product.
Don’t stop releasing.
Deployment should be a delight. Have a production-like environment ready so you (or better yet, your tests) can safely examine each release.
With each additional user there was more pressure to keep the system working. Millions of notifications were being displayed every day. In the early days, pushing an update was always a risk. This was an unnecessary bottleneck. Setting up a staging server shifted me back into releasing daily and the product was better for it. Pro tip: automate your testing with Travis and Sauce Labs.
“The secret to building half a product instead of a half-ass product is saying no. Each time you say yes to a feature, you’re adopting a child. You have to take your baby through a whole chain of events” — Jason Fried
This was a key factor in Notify’s success. I’d lost months in earlier ventures to feature creep. Becoming strict with Notify was a win. Features only made the cut if they were highly sought after or had a direct impact on growth — such as notification analytics or working towards new platforms.
Keep it lean.
It’s never been easier to deploy world-class applications. Stripe makes it simple to accept payments, AWS gives you access to huge amounts of infrastructure and CloudFlare distributes your content around the world for free. Don’t waste time reinventing the wheel.
With all of these resources I was able to throw together an MVP in a few days. At it’s peak, Notify was effortlessly running on only a few machines. CloudFlare absorbed half the traffic and served the app from ~100 data centres around the world, providing a lightning-fast experience to users everywhere. AWS scaled automatically, keeping costs down. Ten years ago building something at this scale would’ve been an expensive and chaotic nightmare.
Have a doomsday plan.
Plan for worst case scenario. Have access to database backups and know your deployment process inside and out.
I’ve been keeping websites & apps online for half of my life. The process lends itself to Murphy’s Law and Notify was no exception. Luckily, backups were painless to access and fresh environments were at the ready.
Avoid being the first point of contact.
When every customer has your personal contact details, it’s difficult to spend time on the important things.
The first year of growth was slow and steady, each month adding ~20 customers. Most of the growth came directly from the Shopify app store. Users were blogging about their success with Notify and organic shoutouts were happening everywhere. By late 2015, it wasn’t unusual to see 500 new customers a month. With growth came the need for around the clock support. I regret not outsourcing this sooner.
New customers aren’t the only way to grow.
Once you’ve got a solid client base, up-sell premium features and keep an eye on churn.
I was watching the ‘total users’ metric like a hawk. A good deal of customers were earning >$100K/month; peddling premium features would’ve been a good next step. Shopify apps typically have a high churn rate — for every two trial installs, one remained a customer. Since selling, the Fomo guys have reduced churn by shooting off an immediate personal welcome email.
Know when to exit.
All of a sudden this little side project had grown into a monster. It was taking over my life. Up at 5am to cram a few hours of work in before heading off to my real job, evenings and weekends disappeared. Constant emails, act-or-miss opportunities, a huge demand for other platforms, VC offerings. I’d become the bottleneck. Two choices: go full-time or exit.
With the app in good hands I was afforded the opportunity to take a breather. I left my 9–5 at Sauce Labs in San Francisco to catch up on life. And it’s been a blast.
I finally took @angeldixon on a belated honeymoon, travelled with friends & family, set up house, nerded out on a Raspberry Pi, helped a buddy build his app, added to the family and I’m getting used to surfing on weekdays.
As the year closes I look forward to getting back into it. I’m more excited than ever to work on the next project.