Bootstrap a micro-SaaS business with these services

It’s true that there has never been a better time to build a niche software product. With virtually no startup capital you can launch a SaaS product and start selling subscriptions — gross profit from Day 1 is completely possible.

I run a SaaS business by myself. The only way to run a software business on your own, unless you are a truly brilliant and prolific developer, is to stitch together various services and avoid wheel reinvention at all costs.

Below is a list of most of the services that I weave together to make Storemapper run. A few of links are affiliate. I chose the services without regard to whether they had an affiliate program but if it really bothers you, no problem, just google them directly.

Also, I’m writing an ebook about this stuff, read to the end to learn more about it.

I have sequenced this roughly in the order that I added them to my app over the course of the first year of operating. Some of them are overkill right out of the gate and only make sense when users or revenue reach certain milestones.

Hosting: Heroku

If you’re new to coding there’s a good chance you are building in Ruby on Rails. If you’re on Rails you should use Heroku.

Yes, it’s more expensive than other solutions like Rackspace or Digital Ocean, but for a Rails app the ease of deployment is more than worth it. Storemapper is on track to reach $100k in recurring revenue by the end of the year and my Heroku bill is around $150/month. The beauty of Heroku is that as you scale you will run into performance issues in your code. Heroku gives you an insanely easy solution to this, just scale up your server dynos. Yes, your bill may spike, at one point my hosting tab was over $900 for a month. But, you can always tune your app later and recover those costs. one month of high costs. isn’t going to kill you, but losing a ton of subscribing customers because your app is painfully slow can be a disaster. Use Heroku.

Domain registrar: DNSimple

You need somewhere to register your domain and point your DNS. Use DNSimple. It costs a little bit more the default DNS manager you in things like Godaddy or Hover, but it’s worth it, one click solutions to most of the integrations like Heroku, Google Apps and so on.

Payment processing: Stripe

You need to accept recurring payments. Use Stripe. Seriously don’t even bother looking at anything else. The setup is super easy and developer-friendly. The fees are low and it has a growing ecosystem of services that plug in directly to Stripe to help you manage subscriptions.

CDN and SSL: Cloudflare

To accept credit payments your site needs to be secured with SSL encryption. I was incredibly stupid and accepted my first 10 or so credit cards on unencrypted pages. This is both unsafe for you customers and, I think, illegal. There are a myriad of ways to setup SSL on your site that range from expensive to a pain to expensive and a giant pain.

Then there’s Cloudflare. For $20/month you get SSL. Setup Cloudflare, make a change in DNSimple, turn on SSL. Boom your done. On top of that you get Cloudflare’s amazing CDN which can help take some of the strain of your Heroku servers. Storemapper processes over half a million queries a month and the vast majority don’t even touch our servers.

Level one emailing: Sendgrid (found in Heroku add-ons)

Your app almost definitely needs to send some emails. A welcome email, password reset, notification when a background job has completed. Use Sendgrid. It takes 5 minutes to setup the Heroku add-on and is free or less than $10/mo to start. When you launch the first version of your app you should just send ugly plain text emails via Sendgrid. Storemapper has quite a few background jobs (CSV processing, geocoding, de-duplication) and all the notification emails from those processes still run via Sendgrid.


At this point you have all the components you need to launch a minimum viable product (MVP). Resist the temptation to build every feature you will only need at scale and get shipping.

The swiss army knife: Zapier

Zapier is an amazing solution for automating various tasks. After you have a minimum viable product you should look to Zapier first to solve most of your solutions. Want to start sending a mailing list? Have Zapier automatically add new Stripe customers’ emails to a Mailchimp list. Send a fancier welcome email? Same thing, new Stripe Customers -> email. My process for a lot of basic SaaS infrastructure was 1) don’t build it at first 2) hack it together with Zapier 3) finally build it properly.

Your first mailing list: Mailchimp

If you want to start regularly emailing your users with announcements you should use Mailchimp (Mail… Kimp?). Use Zapier to add customers to a list and then email them.

Automated communication: Intercom

At this point I don’t use Mailchimp for Storemapper as almost all the mass communication goes through Intercom. Intercom is a bit pricier than other options but it’s super powerful. You can use Intercom to send email or in-app messages that appear while users are actually using your app. You can also trigger all kinds of automated lifecycle emails, drip campaigns and follow-up emails. Super powerful but not worth the setup until your app really gets off the ground.

Support desk: ???

A lot of people use these. I’ve tried Zendesk, Helpscout and and ended up dropping them all. I run support through Intercom and it works fine for now. I’m still just one person. I imagine this would change once you have a real support team. Maybe I’m missing something.

Financial Metrics: Baremetrics

If all or most of your payments are running through Stripe at some point you’ll want to dig into the metrics on what’s happening with those payments. What is your monthly recurring revenue, churn rate, lifetime value. What pricing plan contribute the most to your revenue. Barometric is a one-click install, slurps up all your Stripe data and gives you all those metrics with an impressive voilá.

Receipts & Failed payments: Stunning

An astonishing amount of your credit card transactions each month will fail. Out of the box Stripe doesn’t have a great solution for this. Stripe can send “failed payment” web hooks back to your app and you can build a little system to bug your customers to update their payment info. This is what I did at first but it still turns out to be a huge hassle to keep track of what customers have and haven’t updated their info and how many payments have failed. Stunning plugs into your Stripe account and let’s you set up automated notifications to customers to hassle them with increasing intensity. As a bonus you can also send pretty payment receipt emails with it.

So, I’m writing an ebook about building micro-SaaS businesses

It’s probably going to be free and at the very least half-decent. If that sounds interesting to you sign up to hear first when it goes live.