I've got a side project that's current bringing in around ~2-3K MRR (https://buttondown.email).
I spent a long time daydreaming about having it hit four-digits in recurring revenue — it felt like such an accomplishment that if I were able to crack it, it'd be a dream come true. It's certainly not enough to live off of (especially living in Seattle), but it's a non-trivial amount of money and gives me a great source of pride.
The idea of doubling that amount, though, seems — well, if not _exhausting_, certainly unappealing. I can't think of a way in which my life would be improved by additional revenue, but I can think of a lot of ways it would be hampered by having twice the customer base:
1. More customer support and time spent writing emails
2. More time working on features that aren't what I care about
3. Less freedom to experiment with other projects or ideas
One of the joys of having a project that is truly _yours_ is that you alone get to dictate your terms of success.
I agree free stuff is neat. I think the other side of the hacker ethos is "figure it out yourself", so I would never expect someone who hacked something together and shared it for free to then provide support for said thing. That's cool if you want to do it, but seems like asking for burnout unless you really like the support side or perhaps are looking at turning it from a free thing into a business, as you seem to be.
However, there's another breed of hackers that enjoys making things more than they enjoy making money from things they make (which involves a different set of skills and interests). In which case, it's also valid to just say, "Sorry it's hard, but I can't commit to formal support."
I think you'll be surprised at the results. At the very least your hacker brain will be more informed, especially if you put a dollar figure on your customer support time. Doesn't have to be anything fancy, it could even be minimum wage.
You have probably enough word of mouth now and establishment to build off of with your product that you can get some new customers without it. You can always do trials or free POC periods.
But perhaps the real tradeoff you're making, is to do more support work in order to allow the free tier?
Others have pointed out about the free plan and I mostly agree with them.
One thing that hasn't been mentioned yet is the opportunity to position your product as the alternative for people that think mailchimp is just too much. Tell me this on the headline. "The easiest way to run your newsletter." sounds generic. Maybe something like "Write and click send, that's all it takes. No templates, no extra steps."
Finding people that want to send a simple newsletter without all the steps of mailchimp should be easier. Tell your customers early that you will handle the migration part and you might find more conversions as well.
If you truly want to learn to build a business, realize that you aren't a software developer anymore. You're a businessperson and thats completely different. It's a different field and you can have a lot of fun learning it. It's a reward experience.
I say this from experience. I grew my company from 2-3k MRR and did it all myself. It was only when I realized I needed to hire myself out of low level tasks and focus on the important things did I start to make real strides. It wasn't long before I was well beyond that MRR level (now have 6 employees)
In those cases you should take the time to write a detailed how-to document to complete the task along with a checklist of items that should individually be true/complete in order to call the task as a whole complete. Instructions/code for a human to execute.
That "system" (how to) and "control" (checklist) forms the operational basis for most companies that scale nationally and will remove a significant amount of stress and work for the founder.
How would I setup a "native" email system. I don't want to use some third party that I have to pay for. I'd like to be able to send the "raw" email myself.
So for example my current system uses Java + GMail's SMTP server. I have to pass it a username+password, and I can send basic emails that way. There are at least 2 major problems with this setup:
1) So far, all I have done is send REALLY basic 100% test based emails. It's not exactly clear to me how I would send a fully baked HTML email.
2) Consistently GMail BLOCKS my username. It requires me to manually go in at least every few days and enable "Allow less secure applications"
Sounds like you are using the Gmail API. To be honest that's not really fit for sending transactional emails, and is increasingly unfit for 3rd party consumption due to API restrictions.
Sendgrid also has a free tier that may work for your use case if the app is for a very limited audience, other than that you're kind of asking "how do I get something really difficult for free?"
It's not hard to set up the technical bits to send email. You basically just need to run an MTA that knows how to stamp your outgoing messages with DKIM (a cryptographic signature). Your server has to have an SSL certificate. You also need SPF records set up that accurately reflect what servers are allowed to send on your behalf. DMARC records are helpful as well but not required. If you're only sending as yourself, that's basically it. You should be able to get mail through to the big receivers without much trouble (maybe having to mark "not spam" a few times to start).
The trick to maintaining your sending reputation as an individual is to not send email for anyone else and never send content that you don't control. Sendgrid sends for other people and they have people on staff who's full time job is to fight with the big receivers to maintain their reputation.
That being said: the fact that is a protocol and not a proprietary standard does have decentralizing effects that do provide a useful incentive check against providers, even if there are only a few of them. There is also a real lesson there too, that one I'll leave for the reader.
Your app then then just call out to ssmtp, passing in the relevant mail information (to, from, subject, message, etc).
My only real, big issue with SES is with email templates as in I don’t know of any way to view templates in SES.
So, if you create an email template and want to preview it, you’ll have to do it locally/off-SES. If you need to handle hundreds of templates, this can get tedious.
The other minor tech issue is that SES needs you to work out of one of three regions - US east, west, and EU (if I recall correctly).
If, for legal or hygiene purposes you need your data anywhere else in the world, you’re SOL.
Other than these two, SES has been amazing. It costs pennies and I host all my email, both transactional and personal, with them. Worth noting that my transactional email is in the order of a few hundred per month, if that.
Mailgun is much more flexible about what they allow to go through their servers, but they have correspondingly lower delivery rates.
Really interesting offer. Do you find new subscribers take you up on this a lot? Seems like a great way to improve your migration tooling!
The answer for me was a custom-fitted realization that building a company is to be treated no different than a game. A factory building simulation game, like Factorio. The goal isn't to achieve operational bliss, because that goal is wickedly unattainable (or also extremely attainable, but would mean you'd accomplish that goal by simply just not playing at all). It is instead to grow, build, scale, solve, for no reason other than it being enjoyable to do so. Because playing the game, for problem-solving minded individuals, is a lot more stimulating than not playing it.
I wrote more about my personal experience with this here:
I mean a project is something you do in your leisure time (like on a weekend) and it's meant more to show off your coding skills or scratching your own itch or maybe like gaining the pleasure a painter gains from drawing a picture.
A product otoh is a very different beast. It does need a project but that is like may 10-15% of it. The rest is a whole new world of selling, maintaining, growing which has things like content marketing, link building, SEO, optimizing Salescopy, sending out emails, building an affiliate program, recruiting affiliates, A/B testing, conversion optimization, reducing attrition, giving bonuses, doing discounts and coupons, cross-selling, upselling, funnels, analytics and a hundred different things.
The product makes you money, the project gives you pleasure of coding. For new founder and especially programmers trying to make a buck selling online services it can be a easy pitfall.
A startup SaaS is a product, and while a project can become a product, I think it is better to set out from the beginning as a product. And for projects to remain so and be treated that way as the author describes.
Projects are great, but revenue is the primary metric for most SaaS products, and and if you follow YC school of thought you should be chasing growth of that metric.
Have a question. I do pay for few things (netflix, amazon prime and couple of others). Their services are natural candidate in my opinion for being billed monthly.
Now everyone my cats included are trying to sell their wares however small they are as a service. If I've paid monthly fee for every notepad sized program I use I'd be out of commission.
How does this business model manage to survive is puzzling to me.
Receiving a steady flow of income from those who use your product every month is a great proposition. Additionally, if you build a product useful to more people, your monthly income increases (it's recurring, as opposed to being cash-flow based).
On the user's side, the argument is twofold:
(1) there's increased competition. Economically, the switching cost is lower if you're paying each month— to make an analogy, it's easier to convince someone to lease a new car at the end of a lease than it is to convince someone to buy a new car when they have already bought a car. This allows a lot of new and impressive SaaS companies to grow like wildfire.
(2) there's more freedom of choice, because you're entering a relationship with a company only for a period in which it benefits you enough that you want to continue using it (and as mentioned above, there's ideally plenty of alternatives). This motivates companies to improve their offerings.
While it isn't perfect, I doubt amazing apps like Notion would exist if not for a subscription model. It just isn't worth it to make a perfect note-taking app otherwise.
Sublime did it best, IMO. Charge a non-negligable amount ($70) for an individual, but pennies to a company. That's how many of us got our licenses. That $ should be enough to run their business if it's a good product, and when the $ dries out because of competition, make something new! Seems greedy that everyone who writes a note-taking app thinks they deserve a subscription in perpetuity.
When you're paying a subscription you are paying for the maintainer's continued interest in the product over time, which is not to be underestimated. Software rots quickly.
ST2 has been out for over 6 years and ST1 was initially released 11 years ago (based on the wiki). I have to imagine he made really good money. Possibly even so much that he lost interest after hitting a financial goal.
Back in 2017 MS said more than 2.6 million people use VSCode on a monthly basis. That's not downloads, but monthly users. It could maybe be double that by now (who knows).
But if you're talking about millions of active users, I don't think it's unreasonable to think 3-4 million people used Sublime in its life time -- especially before VSCode existed.
If only 1% of users bought it (40,000 sales) at $70 = $2,800,000 dollars in a business where practically all of that is profit. That doesn't even account for the $30 price to upgrade from ST2 to ST3. Even if he only sold half of that amount, that's still crushing it over a 10 year period of time.
I also disagree that you can even compare Sublime to VS Code because one is a text editor and one is an IDE. I don't know a single person that switched just because Sublime wasn't being updated, they switched because VS Code has some really deep integrations and features that are easy to become dependent on.
Alfred has another better option than subscriptions IMO where they release new major versions you have to pay for every couple of years, but you own the previous version in perpetuity.
In reality most software offered a pseudo subscription through updates. Every couple of years they would offer a new release with heavily promoted features to entice you to open your wallet. Bug fixes were often an afterthought.
Lemme give you very particular example. I own old copy of DxO labs software for processing photos. It suits me just fine and works like a charm despite it being 4 years old. they keep sending me offers to upgrade to new version with new features at very attractive price. If one day the old one stops working for me for whatever reason I will upgrade then. But I have already saved tons of money on just this software alone never mind whole bunch of other titles that I bought.
The reason why it's better for the creator to offer it paid only, is that they can focus on shipping features only for those who care about their offering enough to pay for it. These users could be described as power users in comparison with people who expect the service to be free.
The website FAQ even says that this is for professional use, which means that the person who's subscribing, needs to use this on a day to day for their work (or something that's important to them).
One off cost only really makes sense when you can sell a piece of software as being done essentially and move onto the next piece of software to charge a one off cost for. Having a one off cost to find ongoing costs probably isn’t going to end well as soon as a product is no longer growing.
I bumped into a tool recently that helps simplify some basic financial modeling and goal setting for SAAS companies called http://www.Simsaas.co
I'm always surprised how little financial modeling and goal setting is baked into the "side project hustle" mentality.
I've watched a lot of companies wind up on a treadmill - pumping dollars into marketing acquisition for non-sticky customers vs. focusing on product side improvements to extend retention.
Or stagnating at a level BELOW that "hey I'm making enough to live on forever" and letting a project deteriorate vs figuring out how to drive a little more marketing.
Yes! I wish more developers would heed this. There have been quite a few apps that I started using when they were new, simple, and focused. Then feature after feature gets added and over time the app becomes less attractive and less fun to use.
Jamie Zawinski once said every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.
These days that could probably be updated to say every app expands until it can share to social media.
I think a lot of us know this, but customers demand more...I am selling a scheduling app for small businesses, and I wish I can just make the app better instead of building new features, but if you have over 1000 customers chances are you are constantly getting 10-15 new feature requests on a daily basis, it's hard to ignore those, especially when some customers give low ratings to your app with reasons like "missing feature X", even tho the feature was never promised to them.
What I've tried to do at work is to leverage other programs as much as possible.
For example, many customers want our program to massage the data slightly, or maybe augment it with some fixed values etc. Instead of making dozens of different ways to do this, I focused on making it easy to export data to Excel (or similar) and import it back in again. The import/export routine is generic enough that it takes me 15 mins tops to add it to a new form if it needs a bit of custom handling. If it's just a generic grid it's a one-liner.
Similar for file integrations. We can do (S)FTP, again with a reusable framework making it a breeze to add. For anything else we just access a (shared) directory and the customer can use what they want.
Fortunately for us though, we don't rely on ratings as such, so we can be a bit more strict.
Of course, maintaining it became a lot more stressful than when the MRR was at $10k and I had to hire a small team to help.
I still try to keep things under control by spending most of our time on product and customer support, and zero time/dollars on marketing/ads. This keeps our growth rate manageable (3%-5% per month). I also ignore all interested investors/buyers that want to scale the business.
At our revenue level, I realize I could probably sell the business and never have to work again, but I'm enjoying the ride and afraid of what the pressure to scale could do to our customers.
People who like the 'art' of building this stuff, are (again in my experience, not an exhaustive study or anything) generally much better programmers and engineers that the purely financially motivated folks.
the truth is that moderation is important. you need both. do both. be flexible. pay attention. know when to shift focus. getting stuck on one thing at the wrong moment is how you go out of business. don't go out of business.
going out of business is decidedly the most anti-user thing your company can do.
Personally I have never found the need for a markdown editor (never really liked markdown much for typing) but I can see clearly why lots of people like it.
For me anyways, the reason to adopt it wasn't to do with markdown, it's just about having better UX than the built in Mac notes app. I don't know why, but I just felt like I was fighting with it on certain tasks, such as using it as a scratch space for system logs or taking notes when doing customer support.
The markdown support is nice / simple for formatting, but at least for me that wasn't the reason to adopt it.
What makes this a "huge market" for a Markdown app if everyone uses the not Markdown based note taking app shipping with macOS? I would guess that dedicated Markdown based editors is mostly a niche market, even if it seems to be common in the tech bubble.
I would assume that the use for a Markdown based (developer focused, as it seems from their landing page) editor such as this one would have a more niche market. Without conducting market research into the topic myself, I would say that his success with this product would serve as a pretty optimistic point that there is a need and use for a product like this.
Two years ago I started a company with a friend, and we are _nearly_ at the point where our SaaS covers all our expenses. We do consulting to make up the rest, which is not bad at all, but of course it would be nice if it was completely optional.
I realized reading this post that I've definitely been focused on financial goals for the last few months. It wears on you, and it's not the best long term motivation.
Our dream has always been to be able to make our software better for a living, but it's definitely easier to do that once the financial side is taken care of :)
Sidenote, if anyone is looking for excellent geocoding with autocomplete, give us a try over at https://geocode.earth.
Setting our lowest plan to $200/month was very intentional and has served us well.
Great post! I can relate with growing my own paid side project (https://www.checkbot.io, a Chrome extension for SEO). There's a big initial buzz with making the first sales as you never know how it's going to be received when you first make it public. After you get used to the sales getting more steady and predictable though, I don't find the marketing and sales side that interesting - I'm more motivated by the feeling I get from making something that people find useful and easy to use.
Having a project that I can manage myself is also much more appealing than the stress of e.g. having to get funding and hire people as well. I enjoy posts about apps/startups that aim for and are satisfied with modest profits instead growing huge. I can never relate to stories about mega rich people trying to get even richer.
> There was once a businessman who was sitting by the beach in a small Brazilian village.
As he sat, he saw a Brazilian fisherman rowing a small boat towards the shore having caught quite few big fish.
The businessman was impressed and asked the fisherman, “How long does it take you to catch so many fish?”
The fisherman replied, “Oh, just a short while.”
“Then why don’t you stay longer at sea and catch even more?” The businessman was astonished.
“This is enough to feed my whole family,” the fisherman said.
The businessman then asked, “So, what do you do for the rest of the day?”
The fisherman replied, “Well, I usually wake up early in the morning, go out to sea and catch a few fish, then go back and play with my kids. In the afternoon, I take a nap with my wife, and evening comes, I join my buddies in the village for a drink — we play guitar, sing and dance throughout the night.”
The businessman offered a suggestion to the fisherman.
“I am a PhD in business management. I could help you to become a more successful person. From now on, you should spend more time at sea and try to catch as many fish as possible. When you have saved enough money, you could buy a bigger boat and catch even more fish. Soon you will be able to afford to buy more boats, set up your own company, your own production plant for canned food and distribution network. By then, you will have moved out of this village and to Sao Paulo, where you can set up HQ to manage your other branches.”
The fisherman continues, “And after that?”
The businessman laughs heartily, “After that, you can live like a king in your own house, and when the time is right, you can go public and float your shares in the Stock Exchange, and you will be rich.”
The fisherman asks, “And after that?”
The businessman says, “After that, you can finally retire, you can move to a house by the fishing village, wake up early in the morning, catch a few fish, then return home to play with kids, have a nice afternoon nap with your wife, and when evening comes, you can join your buddies for a drink, play the guitar, sing and dance throughout the night!”
The fisherman was puzzled, “Isn’t that what I am doing now?”
This is one of the biggest casualties of our industry's hyperfocus on software all day, every day, and nothing else. Everything in the world is two dimensional to us.
How many hobbies do you have?
Three years is only a long time if you are young or have never studied anything longer than the time it took to get your CS degree.
In virtually any other hobby or pursuit, you have only just become interesting to other people around the 3 year mark, and software developers are already daydreaming about the Next Thing. If in fact they aren't already looking at the Old Thing shrinking in the rear view mirror.
Pick something to try to get good at. It'll help reset your concept of 'a long time' and your pain thresholds to something more compatible with the rest of the world. An instrument. Crafting (wood, cloth, leather, beer). A sport. Mushroom hunting. Learn to play Go (particularly good one for developers who are uncomfortable picking up something too out of character). Stick around to get properly good at it instead of simply conversation at parties good.
Slow down, and take a breath for fuck's sake.
I know a lot of open source authors and indie makers who have very similar motivations, which is in large part why I decided to build https://saasify.sh.
I'm hoping that it will help developers and makers like the author in this article focus more on their core value proposition that drives their motivation while being able to largely put aside the growth focused stuff that most businesses need to focus on to be successful.
Saasify won't work for every project or for every author, but if it helps some aspiring makers out there sustain their passion, then it'll have been a success in my eyes.