One-man SaaS, 9 Years In(blog.healthchecks.io) |
One-man SaaS, 9 Years In(blog.healthchecks.io) |
> Database servers upgraded to Hetzner’s EX101 (Intel 13900, 8+16 cores). I was setting up new database replicas after an outage and failover event and took the opportunity to upgrade hardware.
Does anybody know if this setup is containerized? I have to say, I love that this is running on dedicated servers. I don't know how many times I burned myself out trying to setup infrastructure in AWS for personal projects only to accumulate a significant monthly bill and nothing substantial to show for it.
> Main values: Simple is good. Efficient is good. Less is more.
> The core infrastructure runs on Hetzner bare metal machines. Hetzner offers amazing value for money and is a big part of the reason why Healthchecks.io can offer its current pricing.
> No containers, no auto-scaling, no “serverless”. Plain old servers, each dedicated to a single role: “load balancer”, “application server” and “database server”.
> The machines are closer to “pets” than “cattle”: I have provisioning scripts to set up new ones relatively quickly, but in practice the working set of machines changes rarely. For example, the primary database server currently has an uptime of 375 days.
Another simpler alternative is to just run a cgi-bin on hetzner webhosting (https://www.hetzner.com/webhosting/level-9/).
I suppose it sits halfway in between as you do need the java runtime, but with fat jars you can also quite reliably and easily run on bare metal managed through systemd.
There are a few things to consider outside of that, though those are also fairly easy to manage.
Log rotation and clean up is something a lot of cloud native people will not be familiar with.
The explanation of why you became a solopreneur - because you didn't want to manage or be managed is simple, yet incredibly insightful. All the best!
- A cheaper and simpler version of visualping.io, they used to be really good but now they're too expensive and enterprise-y. Would be easier and better with AI.
- AI-based email assistant which instantly brings up the entire history of contact I had with a person (even if they used a different email or sent to a different inbox) and can quickly be used to draft replies based on that history and a set of canned response templates. Note that I don't want a full email client, I want to use my own email client, I just want an assistant that is plugged in via API/whatever. Yes I've already tried all the alternatives in this space like Mailbutler/Spark/Superhuman but they're all crappy and force you to be locked in to their client.
- An Apple TV/Android TV app for the Anki memorization app. Lots of people have made successful Anki plugins and little hardware devices and made good money, like AnkiRemote.com. TVs are extremely well suited to laid-back studying and memorization, so you could easily promote this within the Anki student community if you made one.
We are trying to make it as hands-off for end user as possible, but just plugging AI into it is that easy as it seems, since you need to make sure that you are alerting for legit changes and that nothing is hallucinated by the AI
Sorry if that was shared elsewhere, how did you market your product?
* Very few startups, probably a infinitesimal number, are overnight successes. Startups are actually a long grind. There are a lot more lows than highs and the lows tend to be really low. The effect is even worse when you go solo. It took the author 5 years to breach the 5K MRR ceiling. That's a long timeframe and it takes a great amount of fortitude, patience and persistence to stay focused, keep learning and handle uncertainty in the face of lack of visible progress (you are actually learning even in failures but it often doesn't feel good).
Getting mentioned on forums like HN is exactly how a business like this gets more customers.
And it is even more work to, you know, actually (as in real life deploy) implement the copied business idea, and then to keep it running on an ongoing basis, showing up daily, even if not for a mad number of hours. This is the point where most of the glib talkers would fail, early.
It's unbearable to have to work for someone imo.
I wish to be in charge of my life as much as possible.
They call these works are "marketing".
- Have a no bullshit, clear description of what your product does right on the front page. No marketing lingo, no big overpromising. *Relevant* screenshots help.
- A free plan without huge caveats. This depends on your service, but it helps if people can actually trial the full service before committing. It also helps with word of mouth advertising, as someone who is using it personally might also recommend it for their company.
- Have clear and reasonable pricing.
- Don't hide documentation for your service behind a login. I have advised against using SaaS's services in the past because I couldn't easily find documentation.
- Actual have clear documentation for your product. It shows a level of maturity.
- Be clear about you as a company. You don't need to have an about page with mugshots of all team members smiling and their role description. But I do want to know what sort of company I am dealing with. So, I am looking for an about page with a reasonable description. Ideally, you have more than just a contact form. In fact, if you don't have a real address listed, I will not consider your service.
Disclaimer: Purely my personal experience being involved in selecting SaaS services. It also more or less aims at smaller to mid-sized companies, as with bigger companies you sadly do need some marketing bullshit. But with larger companies you also get to deal with more bullshit in regard to their requirements, something the healthchecks.io owner also specifically seems to avoid.
The above also assumes that you get people to land on your website. Which is really difficult, which is why I guess a lot of these services have a blog. Blog posts allow them to be posted on websites like hackernews and other media more often.
Great point. Always leaves a bitter taste, like the business is trying to hide behind their website.
In Germany there's a law that requires anyone doing business on the internet to have your real address on your website (commonly known as impress, see §2 DDG). From what I know this is even a EU regulation, so probably law in all EU countries. And honestly, I think that's a really good law.
Personally, I would love to be self-employed. But I am addicted to stability and am afraid of sales and sadly can't see myself in that role ever.
The point is that I don't need to be able to visit or physically mail anything. But it is just one more point of trust and something I can more easily verify.
Frankly, I'd be okay with a P.O. box if it is clear it is a small business operated mostly from someone's home.
It simply, at least here, is something that allows you to verify things like a company actually being registered at that address.
Another thing is that geographic location matters. For things like data protection laws and other laws the company I want to do business with might or might not follow depending on the country they are based in.
My journey as a solopreneur is similar, but I still struggle with giving myself permission to rest. "If I take a break, the company is at a stand-still!"
Despite the self-imposed pressure and anxiety though, it is still a dream come true. I actually had a shocking realization recently that mornings are now my favorite time of day!
When I was a corporate engineer, I would get the sunday scaries every week and find any excuse to push back bedtime another hour. But now, I wake up excited and energized to work on a project I love... and maybe someday I'll give myself permission to do that less than 7 days a week.
Anyway, I digress.
I'm so happy to hear your SaaS is going strong after 9 years. Cheers! And here's to 9 more!
IMHO you're risking a burnout and working on your company 0 day a week.
It would be better to be reasonable now than to kill your company in a few years because you can't stand it anymore.
Take this next week-end off and go do something totally "useless" like walking in nature ;) It will recharge you.
Most people I know that actually work all-the-time, not self-proclaimed "I work X hour weeks people that say it to sound 'cool'" people. Never have a burnout.
Most of those people also go on extended vacations of say 5-7 weeks. But still work 2-3 hours every day.
Burnout seems much more common in the average worker that only works a 9-5.
This matches siblings comments where employees experience burnout more probably because employees are rarely rewarded for their best work. But executives and entrepreneurs are.
I suppose even if the reward is intangible that protects from burnout.
It is so difficult to find such niches, so congrats for the success!
It took a me few years of observing what brings my attention back you work and what controls my schedule the most, and many little practices to deal with that. Now the thing runs itself, and I can take much longer vacations. It was worth the effort.
A company, by definition, is a group of people. Of course it is possible to register company and never hire employees, but it is not relevant now. The point is when you say "the company stand still" it effectively meaning "I am standing still". Either normalize it for yourself, or hire someone)
What is the connection between the two?
Almost all software depends on other software. At the very least, it depends on the clients software. Which means you can’t ignore what Chrome or Safari changes for example.
The key points are:
- offer email support, but don't offer phone, video calls or remote support. This works for most people and forces them to properly phrase questions instead of just "jumping on a call" (so you can then effectively train them over the phone, which doesn't scale).
- offer as much self-service as possible
- work at your own pace and it's ok to just not work some days.
- finding a niche is hard, but they can be surprisingly basic. You're just saving someone time, effort, worry etc.
- lean on global cloud services for reliability. Let them do that.
That way they can just go to azure and subscribe to the license that way, without needing any azure resources etc, it's just a billing mechanism.
They can then bundle that into their usual Azure spend and even do manual POs etc that I never have to deal with.
Edit: another question: do you advertise on your website the possibility to use Azure billing?
Thanks for sharing!
I just can't seem to come up with an idea. It has been said/written multiple times "scratch your own itch". It seems that I don't have an itch. If it takes me X-amount of steps or time to do some task, I don't ever look at how to reduce it, I just go with the flow.
In the grand scheme of life I am very satisfied. I don't NEED anything and for that I am grateful. However, I am a worrier and I do worry about the future and retirement (I'm in my mid 50s), specifically healthcare.
Anyway, better quite here and stop blathering on
Kudos to you, and to another 9 years!
Also I'm stealing the term Hobbit software, talk about comfy.
How do you handle on-call / customer support, particularly around vacations?
(In other words, if you want to go away for awhile, how do you make sure any outages get resolved?)
You absolutely must have a "unique" selling point, even if it's just being cheaper. Otherwise, your competitors are just a click away.
I'd argue the author HAS found PMF, just not the kind that gets you to $1b.
The fact that it's not what most new businesses try to do is true, but doesn't mean anything. 99% of people who go to university don't do it to create new science, but 1% eventually go the academic route and do create new science (hopefully). That's not an affectation, it's just a different goal.
I also don’t feel the pressure to grow the product features anymore similar to OP. In fact I struggle sometimes now from being overly comfortable and feeling stagnant.
Recently wrote up a similar review post about the fears, failures and successes I experienced over the past year:
https://www.magiclasso.co/insights/ad-blocker-year-in-review...
Thank you Pēteris for being an inspiration.
I've just launched my own SaaS as a Solopreneur (https://msgdrop.io) and and trying to figure out where to invest most of my limited free time to grow it now.
My design work looks like a kindergartener drew it with a fat crayon on Big Chief paper! ;-)
Billing was ready in December 2015, and the first customer ($5 MRR) was in March 2016.
I love Healthchecks.
It's open source and easy to set up if you'd like to go that route.
His free tier is more than enough for my self hosting shenanigans and it's been one of the most reliable parts of my setup.
https://blog.healthchecks.io/2023/08/notes-on-self-hosted-tr...
The author's end solution goes against all common HN wisdom (!)
This is the way things should work. There should be millions of email senders and receivers, not just 32 mafiosas (Gmail, Hotmail, Yahoo, MailChimp, etc).
There are endless counter-examples on HN advocating against hosting something as simple as email yourself, see: https://hn.algolia.com/?q=self-host+email
You could at least be realistic instead of blatantly sounding like a zealot.
I'm not sure zealotry is the best way to push back against conventional wisdom, but otoh the parent comment didn't sound zealous to me.
In fact the more I read about Maddy[2] the more it seems to simplify running a mail server compared to when I did it back in the day. I mean you still have to worry about landing an IP address with a bad reputation but it takes care of soooo much of the rest of it.
[1] https://blog.healthchecks.io/2023/08/notes-on-self-hosted-tr...
I'm making progress as I am also acting as a fractional CTO for a few start ups where I only took equity and only used my platform. All the companies are going to migrate off at some point, but they found market fit and are staffing up full engineering teams.
Over the next few years, I'm going to continue just having fun building. However, I have a few verticals that I plan to launch in and start figuring out marketing for that is... reasonable.
Increasing your pricing is the #1 way to grow revenue and weed out customers who abuse customer support.
https://healthchecks.io/pricing/
With that being said, he clearly knows what he’s doing - don’t take advice from strangers :)
Unlikely with businesses like this. This business model is to offer a budget alternative to the big name services that doesn’t have the same level of support and reliability (it admits not having failover, for example) to customers who are okay with that in exchange for the lower price.
Once you start raising prices significantly, it no longer becomes the budget option. Customers may not churn right away, but growth would slow substantially as people started comparing to the full-featured mainstream services at similar price points.
The common startup wisdom is that raising prices dramatically is a magic wand to improve your customer base and grow your revenue, but that doesn’t work in the budget domain.
Who’s the “big name service” in this space?
"Continuously growing revenue" is the trap.
Small businesses that actually find a market and turn a profit live or die on reputation. I have a feeling that 2x the price (even incrementally over time) would burn a lot of goodwill.
But there is a middle ground. As long as your operating costs don't rise precipitously for whatever reason, you can keep your existing customers on their current pricing and give new customers your new higher price.
It works in web hosting, anyway. (Usually.)
Same with me. On my one year mark as a one person saas with 123x.dev . Helping Monday and Atlassian customers with custom apps.
It's refreshing to see one person or small teams happily prioritizing work/life balance over the never ending treadmill of profit and growth.
Finding what "enough" means to you is hard, holding that line over nearly a decade of success is even harder.
In one case, it was thrown from some_string.split(), in another case from some_string.encode().
There's web tech from decades ago that still works almost entirely the same. If you stick to the most beaten path, you can really profit off it.
A lot of "legacy" software is still kicking because of this. Well... it works and solves the problem. And we can update it too, if we just stick to what we're doing. There's Perl scripts decades old still chugging along on servers all over the world. There's Windows applications written in the 90s that work pretty much exactly the same and are still updated in C++.
They just aren’t chattering away about it.
If all you want is $1000/mo, you don’t necessarily have to solve a new problem, you can solve a problem that already has solutions (ideally doing it slightly better, but this isn’t required).
If your product is identical to the competitors, then you can carve out a small percentage of the market just be being the first solution the user tries, e.g via paid ads putting you at the top of the search.
Best of luck!
Any ideas I do have I convince myself nobody needs, wants, or will pay for.
- Go here https://aws.amazon.com/products/?aws-products-all.sort-by=it...
- Look at the list of products
- Copy one of them
- Do it a bit better (e.g. cheaper, faster, hosted in EU, targeted at some specific segment of users etc.)
- Launch asap (no longer than 3 months of coding)
- Reach out to potential users everywhere you can, until you get a few dollars of recurring revenue in
- Write blogs, and long form content, integrate with other libraries and systems
- Automate everything, pay for services that aren't core to your business (e.g. payments, backups, etc.)
- Do everything you can to help all your early users, keep improving the product every week
- Wait a few months/years, till it compounds up to 10-20k MRR
Or, choose a small thing you can build in a few weekends, get it built and try shipping it.
If you get no traction, you learned something. If you do, you can now invest more.
This is the whole idea behind lean startups: don’t assume tou have a winner or a stinker, go find out and adapt based on feedback.
A service routine monitor doesn't need to be updated every month to function, so why would anyone pay every month to use it?
Another point is if you’re also your own product manager and you designed every feature yourself, I think there’s a tendency to think about all the eventualities for each feature more thoroughly, so your code and product is kind of complete - thus you actually get fewer bugs. In my experience most issues in software come because the engineer misunderstood the requirements that someone else wrote anyway.
How do you do to get alerted of your service going down when:
- you are in the wilderness, ouside or with little cell coverage
- drunk and dancing in a wedding with music at full blast
These are just 2 small examples out of many others. Also it means you need to stay connected when taking a plane, be able to stop and/or swap drivers if your are in a long driving trip so that you can fix your service in a rest area or while your partner is driving, etc.
I am pretty sure outages are very rare but if that happens the day your are out of cell coverage and unable to react, you might lose a lot of trust from your customers.
I am also suprised he relies on only one hosting service. I would have thought you might not want to have everything in the same basket.
This is so true. To me, finishing writing the code means releasable code. I have done the testing along the way.
It runs on namecheap shared hosting.
If it goes down, I trust namecheap to fix it asap. If it goes down and someone called me, I don't really know what I would do anyway....
In 6 years it has never been a problem.
PHP and jQuery. I use phpmyadmin via cpanel to manage the database.
- No phone number for support
- Extensive FAQs to let people help themselves first
- Vacation: take laptop along, check emails every couple days (but I haven’t tried remote vacation without internet ever)
Generally speaking: outsiders vastly overestimate the support burden of a one-man business. Maybe I’m lucky, but I only receive 2-3 emails per day with 25k active users.
In reality if you don't deploy new version or don't change config or don't post your product to HN server will be there simply running.
In big companies you might have bunch of people doing config changes all the time on different levels and you might never know when someone will break something you rely on.
They probably set up a HealthChecks.io alert.
I'd love to travel to a remote island, or do a 2 week hike out of cell service but it's difficult. The odds are incredibly low that downtime occurs in that window, but Murphy's Law and my anxiety won't allow it. The pros greatly outweigh the cons though. While I can't do those remote trips, I can still travel wherever else and just ignore things unless there's a downtime alert or an urgent support ticket.
Then just remote into systems, and fix issues. He’s pretty much “on call” 24/7/365
Also there have been times when monitoring alerts start blaring at 3AM, and there's no more sleep that night. Thankfully does not happen very often :-)
Until they are not. The most promising entrepreneurial project can take an unexpected turn south, and if you’ve worked yourself past the burnout threshold at that point it can be hard to come back.
Thanks for the response
Also, you could just reply to your question with a link to your app under a different account but I'm not sure this as effective as having the link in the post which guarantees the link will be seen if someone clicks on that Reddit thread via Google, otherwise, there is no guarantee that your comment will get up voted and be visible, unless of course you game this also.
Can you elaborate on this?
Servers cost money each month, as do the services they use.
If I am drunk dancing in the woods as a solo operator no one is doing config changes on my servers.
The remaining 5% downtime like internet connection to the server facility, solar flares, UFO taking over the world - I would not able to do anything about anyway, would have to wait until it goes away.
The most common issues I have with long term projects are small code/config changes (#1 by a ridiculous degree), then way below is drives filling up and then way below that is actual hardware failure.
Drives filling up are often the most annoying to fix as they cause very odd user facing problems. Just fixed this week an old wordpress site that I spent over 2 hours trying to fix, trying everything, before I realised the mySQL database was full. It turns out if a mysql db is full the provider revokes insert privs on the user and wp login will just go in a loop back to the login page if it can't write to the database. No errors on the UI :(.
Cloudflare is again down and your service is not available for an hour? You cant do anything. And nobody unsubscribes.
Most downtimes are because another service is down and you cant do anything.
Sometimes its really your issue. Your service is down for an entire day? Some customers may be pissed at the moment. But in the end they dont care if you are not a critical service - like this one.
Learning: Downtimes are not an issue. When such a message pops up just ignore it and look at it when you have time. This is strange first as we try to be perfect. But the world will continue to turn.
The commonality of burnout in some form to full burnout seems to be roughly 75% for employees[1] and roughly 70% for executives[2] and 25% ~ 75% for entrepreneurs[3].
My experience is based mostly on the latter.
[1]: https://www.gallup.com/topic/burnout.aspx / https://www.flexjobs.com/blog/post/flexjobs-mha-mental-healt... [2]: https://www.forbes.com/sites/forbescoachescouncil/2023/01/23... [3]: https://wifitalents.com/statistic/entrepreneur-burnout/
The statistics on this vary wildly, so I'd take all these statistics with a giant grain of salt.
Having full creative control, uncapped upside potential, and truly enjoying the work make it a lot easier to do every day.
As a long-term goal, I would like to restore better work/life balance.
But first, I'm trying to make hay while the sun shines, to hit escape velocity from corporate work permanently. Now that I've tasted freedom, I really don't want to be dragged back...regardless of the outcome with my current business.
> That can happen in entrepreneurship, but much more common in corporate life.
Yeah but it’s not at all limited to traditional work. A common source of burnout is family issues. People burn out taking care of others, especially someone with psychological or substance abuse problems. Or co-dependence, terminal illnesses. Those things can become worse by trying harder, and that’s a potent recipe for burnout.
Yep, that's a different thing called bore-out.
Even now I have a project where I have to fix a bunch of hastily written code and while I’m making progress and it’ll eventually be fine, it’s quite unsatisfying.
The guy is clearly passionate about his app, probably too passionate.
With coding, it's also a matter of quality of work. You need to step back so you can look at your work with a fresh perspective, and oh, there are ALWAYS horrors you will find, the ones you created when tired.
https://www.pingdom.com/pricing/
https://healthchecks.io/pricing/
The primary difference is that HealthCheck caps their pricing at $80/mo whereas Pingdom let's it still linearly scale upwards.
And that's kind of my point. Why artificially cap their "Enterprise" plan at so cheap, when Pingdom let's it scale to $10s of thousands per month.
Agree all the hooks and infrastructure you need to put in place are a pain and it's also difficult to debug if someone has an issue (one guy couldn't cancel for an unknown reason).
A lot of software that on the surface does the "exact same thing" often has different nuances, either to the business or the product that makes them appeal to different niches in the market.
Understanding the nuances and exploiting the market niche is your only goal when starting a business. It's not something you ever do or think about when working on software, but people who strike it out on their own quickly realize that simply building is not enough, you MUST give people a good reason to use your software. Just because you don't see or understand the nuances, does not mean they are not there.
They could all be replaced and do 90% of the job immediately and a week later figure out the last 10%.
As as for work, coinbase is not the only exchange, square is one of many, meta is another social media site.
I don't think you have to have a unique selling point all the times. You can make an exact product as the market leader and layer on top a distribution that you own or you sell the product to a underserved groups. It will work too. In fact, this way of doing business happens a lot to non software products.
In theory? Maybe.
In reality? Your scale and delivery depend on the competence of your devs and your processes and there's a very good chance you could do it better than all the big companies from your garage as a solo dev if it has a relatively small feature set.
The idea of an "economic moat" comes from Warren Buffett[1] and it was/is part of his investing philosophy to look for companies with some sort of unique feature which allows them to dominate markets and create effective monopolies on their particular niche. It makes sense in that context but it doesn't necessarily apply everywhere.
What if you're just trying to create a business that gives you a good lifestyle and you're not looking to dominate? Maybe the market is big enough that if you just take a piece of it that's plenty. There are plenty of businesses out there that are offering a product that is one of a range but the market is large enough to sustain multiple offerings.
Not everyone needs a moat because not everyone is trying to build a castle.
[1] I believe he first used it here in his shareholder letter where he describes GEICO's low costs as creating a moat that competitors couldn't cross. May have been earlier but most people credit the invention of the term to him anyway https://www.berkshirehathaway.com/letters/2016ltr.pdf
Agreed.
>What if you're just trying to create a business that gives you a good lifestyle and you're not looking to dominate? Maybe the market is big enough that if you just take a piece of it that's plenty. There are plenty of businesses out there that are offering a product that is one of a range but the market is large enough to sustain multiple offerings.
Yes. In fact, the majority of businesses in the world are probably this way.
>Not everyone needs a moat because not everyone is trying to build a castle.
That's a brilliant line and metaphor. Gonna steal and share it whenever and wherever I can. Thanks.
His moat is a combination of pricing + cost structure + time spent to cumulate the customer base.
If someone were to enter the market and try to take his business, they will have to consider if their conditions can result in the same offerings. I don't think it's easy to match the same offerings.