Good morning! I'm Simon Bennett, a 25-year-old software engineer from the UK. I've always enjoyed building projects for myself on the side and teaching developers. When I am not consulting, I am working on my SaaS, SnapShooter — a DigitalOcean backup server.
SnapShooter provides a secure and easy way for DigitalOcean users to back up their droplets and volumes. By default, DigitalOcean is very limited in only offering weekly backups and retention of the last four backups. This was not good enough for me at work, so I built a system that enables hourly backups. SnapShooter also offers volume backups — another feature not offered by DigitalOcean.
Since launching in February of 2017, SnapShooter has made 150,000 backups, managing 2,000 droplets and volumes, and has 51 paying customers at an MRR of $1,076.
I was consulting for a company which was managing hundreds of droplets, mostly WordPress, and they needed a better way to back up after one of their WordPress servers got hacked. The weekly backup option provided by DigitalOcean was not frequent enough. Data loss cost everyone time and money. I did some research on the DigitalOcean API and realized it was entirely possible to provide a better backup system.
The idea behind SnapShooter was born.
In my excitement to ship a working version, the only validation step I took was to talk to fellow developers who thought it was a good idea. None of these initially interested developers has gone on to become a customer.
The process of building the prototype did not cost me anything other than a domain, a single DigitalOcean droplet, and my time.
SnapShooter was built to solve an issue we were having at work. We were dealing with hundreds of client droplets and needed an easy way to keep them all backed up. One of the main advantages of a whole server snapshot is that the ease of confidence when restoring a damaged WordPress server becomes a breeze.
I dedicated my evenings while my 6-month-old daughter was sleeping between feeds and my partner had gone to bed early to rest. In total, it took seven evenings to get the core of the backup system finished and tested, and another week to integrate payment handling.
I knew my time was limited, so I was happy the product scope was simple. In the beginning I skipped out on building loads of features. For example: no time zones, and no daily, weekly, or monthly retention policies. What I did include were simple options to set the frequency of a backup, as well as options for how many backups to retain.
I took full advantage of how fast developing a Laravel application can be, using the background jobs to communicate with the DigitalOcean API as once a snapshot gets requested it can be a while before the backup completes. Other than the scripts for creating, monitoring, and deleting snapshots it's a basic CRUD application with payment processing using Stripe.
My first customer was Justin Jackson from Tiny Marketing Wins and Product People Club, as I knew he was using DigitalOcean for hosting his community's Discourse forum. I emailed him as soon as I launched on February 11th, 2017:
He signed up straight away! I had a little party and almost opened a bottle of champagne. Then nothing — no one signed up for almost two weeks. I got worried that my lack of market research put me in a difficult situation.
At the start of March, I made some big improvements to SnapShooter, mostly with the UI, and then I self-posted on Product Hunt on March 2nd. It may have been luck, or it may have have had something to do with SnapChat's IPO, but I ended up on the home page and received 88 upvotes and my next three customers.
My most effective channel for attracting new customers has been the DigitalOcean community products pages.
SnapShooter is listed as the 15th most popular project. I also try to be active in the community without being too spammy, only providing links back to myself when it is relevant to the conversation.
In November 2017, I placed an advert on Laravel News Podcast and got my best ROI result, increasing MRR by $160. The advert cost me $300, so it was only going to take me two months to recover that income.
As I mainly consult and haven't stopped or reduced my workload, revenue could almost be pure profit. I use Stripe for monthly subscription collection as this is the easiest to set up and my users seem to trust it well.
My biggest expense has been sponsoring podcasts and websites, which have slowly paid for themselves. It's difficult when you spend all the MMR on one advert and must wait 2-3 months to recover your investment. I need to explore different sources of customer acquisition.
Month | Revenue |
Aug | 226 |
Sep | 261 |
Oct | 321 |
Nov | 481 |
Dec | 561 |
Jan | 815 |
Feb | 1076 |
My goal is to match my current income with my SaaS projects. I am a lot closer to that than I was a year ago, but I have a long way to go. It would be nice to continue my growth with the goal of achieving 20% month over month. Achieving this is going to be a mega challenge: I will have to do everything I can to push the needle forward.
I would like to launch more products, but it's hard when you already have a product making money and it seems better to double down on what is already working.
The first thing I would have done was charge more.
I started way too cheap. In my mind at the time, I figured if I charged customers $1 I would be able to get thousands of users registered and interested.
Increasing my prices has been my best move over the last 12 months, and the users who paid the original prices have long churned away.
Surrounding myself with like-minded individuals who are also working on indie projects such as productized services or SaaS-modeled businesses has been a huge motivator.
As Jim Rohn once said, "You are the average of the five people you spend the most time with."
Having people in the same boat as you, as well as people ahead of and behind you is a great way to learn and progress.
My simple advice would be to start small — a tweet, a blog post — and if you're going to make software don't invest too much upfront. Keep your idea small especially if it's your first time.
Focus on the business goals and forget about the rest, such as a refund process or sending welcome emails. If you can do it manually, don't program it. Ship instead, and worry about these details when you get sick of sending welcome emails. I still have a collection of 10 MySQL queries I use to monitor SnapShooter. One day I might build an admin dashboard.
This is the biggest mistake I see people making. Putting too much into tiny decisions that offer low impact on your business goals.
Check out SnapShooter if you are on DigitalOcean, and start backing up your servers today! We have a free tier for those with only one droplet, and offer a 14-day trial on all paid plans.
You can also check me out personally on Twitter @mrsimonbennett.
I'd love to hear your thoughts on the app, and if you have any questions at all please let me know in the comments below!