Selling My Bootstrapped SaaS Business

Five years ago I built and launched the first version of a SaaS app on a single flight from San Francisco to Buenos Aires. Slowly and steadily, Storemapper grew into a healthy location-independent business for one person and then later a small dedicated remote team. At parties, I would describe it as, “not a startup; a healthy growing internet small business.” This year, almost exactly five years after launching, I sold the business for what, to someone growing up middle class in Florida, is a life-changing amount of money that will enable all kinds of exciting new projects and adventures. From start to finish, it has been an exciting ride, much of which I have documented here on the blog. With the sale concluded, I wanted to share as much as I could about the process of building a business that can be sold and how I sold it.

There’s always a risk that these posts turn into a 5,000-word humblebrag. But I really do think it’s worth a read because, unlike most business acquisition stories, which often feel like an out of the blue stroke of good luck, the way that I sold Storemapper feels very replicable for other entrepreneurs. When I spoke to someone two years ago about what it would look like if I ever sold the business I would say, “I’m not trying to sell it now, but if I ever did it would probably look this…” And six months ago I would tell a few folks privately, “I think that one of the people I met recently might be the one to buy Storemapper and if they do it will probably go like this…” And, then basically when it all went down it looked more or less like… that. There wasn’t some single huge stroke of good luck, though of course, I got lucky in the little ways that every successful business has to. An excellent outcome, but also a perfectly reasonable and achievable one that I think can serve as something of a template for other bootstrapped entrepreneurs.

This is a long and detailed post. I had so many questions going into this process and I didn’t find a ton of good posts from the founders perspective on selling bootstrapped businesses. So I thought I would just throw everything I could think of into a post and let you skip around or save it for reference when you’re considering selling your own business. Grab a pot of coffee and let’s get started.

First the obvious: why sell your software business?

Continue reading

Storemapper Update: $200k and Growing the Team

I’ve just published another Storemapper Update for Q1 2016 with full financial metrics over on the brand new Storemapper Blog. Highlights include crossing over the $200k run rate, growing the team to three people and a look forward to 2016 marketing efforts. If you run an e-commerce business you are really going to be interested in our Storemapper Interview Series coming soon.

Check out the full post

Storemapper 2015 Roadmap: 100K to 4HWW

Almost exactly a year ago I moved Storemapper from a neglected side project to real business focus. It’s fitting that it just hit a pretty cool milestone: $100K in annual recurring revenue. Pretty good for a simple little widget.

Storemapper Revenues hit $100K

Check out the latest live metrics here

The business is very high margin so that number equates to probably around $90-95k in net income, which is honestly about as much money as I really could want to support my lifestyle without any dependents. Anything more is gravy.

This will be an interesting test. Working on Storemapper for the past year it’s been so easy to measure progress. Is monthly recurring revenue (MRR) going up and by how much. And in 12 months that number went up 271%. And that’s recurring revenue subscriptions. And I owned the business, that money went in my pocket (and then straight to Chase, Citi and Amex, but that’s another story). It’s basically like getting a salary raise every single week and it’s a powerful dopamine loop.

But there was always supposed to be a point where it was enough money. I wasn’t going to get caught up in the “money as a scorecard” trap where you just keep on trying to get more and more. Money is a tool to get back your time.

There is this fantastic anecdote from Biz Stone’s little memoir on the founding of Twitter. Biz and Ev are in a bar, at the time they are still working on Odeo, the podcasting business that preceded Twitter. Biz starts:

“If we execute the vision you laid out, we will become the kings of podcasting.” I gave a great flourish when I said “kings of podcasting.” I made it sound very kingly.

“Wow, you think it was that good?” Ev looked pleased with himself.

“Yes,” I said, “but I have a question for you.”


“Do you want to be the king of podcasting?” I asked, because this was the question I’d been asking myself. Ev took a sip of his whiskey, set the drink down, and then laughed.

“No, I totally don’t want to be the king of podcasting,” he said.

“Neither do I,” I told him.

It’s a question we so often forget to ask ourselves. I do NOT want to be the king of store locators. There are things about the business that I do love. I love that all my customers are themselves entrepreneurs, so in the process of doing support I also learn a ton about them. I love providing an incredibly simple UX and fantastic customer support. It’s sad but true that people in general, and particularly in B2B, are used to receiving pretty horrible support and grappling with terribly designed software. Customers regularly write unsolicited little notes expressing their delight, and that makes my day.

But I always saw the value in Storemapper as a way to make recurring revenue while freeing up my time to work on other projects. Well, we’re basically there now. So what happens next?

2015 plan: a true 4 hour work week

The Four Hour Work Week (4HWW) was one of the books I read back in 2010 that put me down my current path. The premise is straightforward, build a business that runs on four hours per week of your time, then use the rest of your time to do awesome things.

Here is a common misconception though, you can’t actually build a business on four hours a week. At the start of the book’s narrative, Tim is running an online nutritional supplement company that generates $30,000 per month in revenue. He didn’t build that on four hours a week. But once he has it, he then starts a process of reducing and automating that keeps the business doing well with less and less of his time.

The point is you have to build a real business first, then you can 4HWW-ify it. That’s roughly what I plan to do with Storemapper. My key metric is switching from increasing recurring revenue to decreasing my weekly time spent (while holding revenue at least steady).

When your business doesn’t have an accelerator pedal

The other thing that made this decision easier is that Storemapper really doesn’t have an accelerator pedal. It continues to grow really well (typically >10% per month) from organic customer acquisition channels like organic search and the “powered by” links, but no matter what I tried, nothing seemed to be able to increase that growth rate. Adwords was a waste, refer-a-friend programs were a flop — I document this in more detail in the first big post on Storemapper. There just wasn’t an accelerator pedal to push to turn this into a really big business.

As entrepreneurs this is a tough, but fairly common, situation. We spend a lot of time striking out, building prototypes and businesses that totally fail, on the premise that when we do strike on something it could be home run.

But sometimes you just get a single or a double. And nothing you do can turn it into a home run. And it’s really easy to get stuck there banging your head against it because the alternative is to go back to the plate and likely to more strikeouts. But sometimes the best answer is just to let it be.

How’s that for baseball-business metaphors? There’s probably a missed opportunity for a Money Ball reference in there somewhere.

2015 plan: two part-time hires

I plan to make two very small and carful hires for Storemapper to replace the two areas of time that the business requires. $100k and growing is still not a ton of cash so I’m going to compete by offering an impressive amount of money. But both positions will part-time and extremely flexible. If you’re working on a project, already living cheaply and looking for a little side money, either one could be a great fit.

1) Customer support (see also: customer happiness guru, client success wizard)

Support for Storemapper is pretty easy. The bulk of it revolves around helping merchants upload their data in the right format and get their settings tweaked the way they like. Some basic knowledge of CSS and a desire to learn more is very helpful in this role as we sometimes need to add some CSS tweaks to get the store locators looking nice on each site. I currently do support in less than 1 hour per day 5 days a week. I’ll probably be able to pay for about half-time but it would likely not be nearly that much work.

2) Ruby on Rails developer

This is a super easy and super part-time position. I have done all the coding to date. I’m looking for a good Ruby on Rails developer to basically be on retainer for occasional maintenance, tightening of screws and upkeep. We’ll get started by making my code less crappy: improving some slow database queries, writing some better tests. Once you’re familiar with the code I’m looking to pay someone some easy money to just be on hand in case of an emergency, occasionally deal with gem updates and minor tweaks. Storemapper is a pretty standard Rails setup on Heroku, Postgres, Resque, etc augmented with these services.

If you’re interested in either of these or someone who would be a great fit please reach out to me.

2015 plan: Automating systems

The second focus for the year is automating all the systems and processes needed to run a business. Mostly this is accounting, payroll, bookkeeping and taxes. I am literally the world’s worst at all these things but I’ve been working with my friend Dan Hobbs who is a master at this. Dan and I are actually putting together content from all our sessions into some kind of a package for micro-entrepreneurs and/or digital nomads like me

Basically the content consists of me screwing up in EVERY possible way, and Dan patiently walking me through how to sort things out and systematize them in the future. We’re not sure if it will be blog posts, an ebook or online course of some sort but if that sounds interesting to you, hit me up on email or twitter and we’ll put you on an early announcement list.

In any case Storemapper is actually in fairly good shape in this respect, as a testament to Dan’s skills but I’ll be looking to really tighten things up and automate them and of course post it all here.

Storemapper Update: 50% revenue growth in 3 months

Storemapper Update: 50% revenue growth in 3 months

Three months ago I published a deep dive into Storemapper, a tiny SaaS product that I run. I thought the post (now on Medium) was too long and delved too much into the gory details to be broadly interesting but I was blown away by the response. The post sat atop hacker news for over 24 hours and my typically sleepy blog saw something like 50,000 uniques in a few days. So, here I am, back with another update.

The impetus for the original post comes from Baremetrics, the insanely simple SaaS metrics dashboard for Stripe that I use. As paragons of transparency, Buffer, Baremetrics itself, and several other cool startups had made their dashboards completely public. Josh from Baremetrics asked if I wanted to do the same for Storemapper. I had been meaning to write a tell-all about bootstrapping my Micro-SaaS business anyway so it all fit. So, as always, you can see Storemapper’s live metrics on our public dashboard.

Storemapper Update: 50% revenue growth in 3 months

50% QoQ growth

Storemapper has been on a tear since I seriously focused on improving it in March of this year. The last quarter has been great with recurring revenue increasing by 50%, up over $80,000 per year, in just three months.

I think Q3 is a great time to launch ecommerce apps. Store owners are putting in time to prepare their business for the holiday surge and are much more willing to make investments to help them better capitalize on Nov/Dec sales. That’s likely part of the story this year as well. Here are a few things I’ve been focusing on in the past three months:

  • Converting free trials
  • More Premium features and upselling
  • A/B testing prices
  • Reducing failed charges

Onboard like a boss: convert the free trials!

After a little experimentation, we’re back to requiring a credit card on signup. Most people in SaaS have a strong opinion on this. It does reduce free trial signups, and it does slightly reduce overall paid signups, but it saves so much in headache that it’s worth it.

So it was always clear that Storemapper has great retention and very low churn. Setting up Baremetrics let me really see the lifetime value for each plan. With churn below 1% the LTV for most of our popular plans is well over $1,000 per new customer. It was clear that the best thing I could do was focus on getting incredibly good at converting free trials. I re-built the signup process to show platform-specific installation instructions. I tightened up automated emails and in-app messages using Intercom to reach out to customers when they didn’t hit key milestones during the free trial.

The results are awesome. Storemapper is now consistently converting over 40% of all free trials. In October a whopping 42 out of 43 free trials who signed up directly on our site (not through an app store integration) converted to paid plans.

I’m now super happy with our funnel with high conversion from free trial, low churn and super high LTV. The next area of focus will be investing in some paid acquisition. I am a total noob at Adwords/Facebook/retargeting and would love to pay/barter for a crash course from a pro.

Push for Premium

Digging in to Expansion MRR Storemapper’s best upsell flow is convincing medium-sized customer on our Pro plan ($19/mo) to upgrade to Premium ($39/mo). Premium comes with a ton of fancy features like heat map analytics. This past quarter I added several new features like:
* Improved syncing from Google Docs * Facebook Page Tab integration * Pretty map themes powered by SnazzyMaps

I then added several Intercom notifications to prompt targeted customers to test out a few of the features. You can see the results: 20 upgrades, many of them to premium accounts representing a few thousand in new annual recurring revenue.

A/B testing prices

I have been testing prices on Storemapper for a long time but I’ve always kept it simple and just changed the prices and watched what happened. I never ran a simultaneous A/B test because even with cool tools like Optimizely it’s still a pain to setup.

Optimizely can do the front-end stuff to make sure each customer is cookie’d and sees the same prices every time they load your landing page, but you still have to do a back-end integration so they see consistent prices if they go to upgrade or change their plan.

But I went ahead and did it. I hacked up a solution using Mixpanel to track funnel conversions and Nate Kotny’s Simple Abs to handle the A/B. Then I manually did the math between the Mixpanel conversion data and Baremetrics LTV metrics.

It was still a big waste of time. It’s very hard to see conclusive evidence of superior pricing. Even if you get more revenue from a higher price point you need to wait to see if that higher cost leads to a higher churn. Blah blah blah. In a micro SaaS business you’re looking for big wins that obviously improve recurring revenue. If you need to do some math to determine that something is statistically significant then it wasn’t worth the time and effort to do it.

I’m still testing prices but I scrapped the whole setup and went back to manually tweaking and watching for big moves.

Reducing failed charges

Here’s something you don’t learn until you have a portfolio of customers’ credit cards that you charge every month: charges fail a lot! Like an insane amount. I went about 9 months on Storemapper before I looked into this and I discovered that like 50% of my customers’ credit card were invalid or failing. Initially I built a simple email notification using Stripe Webhooks but it turns out that a) customer’s don’t immediately jump at the first opportunity to update their billing info and b) it’s a HUGE pain to keep track of every outstanding charge.

I highly highly recommend using Stunning to solve this problem. It integrates directly with your Stripe account and emails customers when their card fails automatically (and keeps emailing them until they comply!). That feature alone makes the service worthwhile but you can also use it to send pretty email receipts and other email notifications, it pro-actively updates cards before they expire, has an iPhone app that shows you all your Stripe events and a bunch of other stuff.

Storemapper Update: 50% revenue growth in 3 months

In this quarter I tightened up my Stunning integration, taking advantage of everything they had to offer and hunted down some very very negligent customers as well. Failed charges is still a huge deal but my process is 99% automated now.

If you liked this post

It’s my birthday today so do me a favor and push the little up arrow for this post on hacker news 🙂