Live data from Hacker News

The Tech Stack of a One-Man SaaS

panelbear.com

181–190 of 259 posts

Re: The Tech Stack of a One-Man SaaS

#181
I run three different SaaS products by myself, spend a couple of days per week consulting and lead a pretty full life with young kids, volunteer firefighting, hobbies, etc. Each of my products probably equates to around a 1/4-Man SaaS.

They're all server-rendered HTML with a little ajax sprinkled around the place where required for interactivity. I use Materialize CSS to give me a leg-up on the design side but the next thing I release will be on Tailwind UI.

They're all written in Go using a simple MVC-ish pattern. I write a lot of integration tests and a few unit tests.

I use Google's hosted PostgreSQL database. It's not cheap but it's not expensive either and it's been rock solid. The frontends are all on Cloud Run as of a few months ago which has been wonderful. Super reliable and fuss-free. Takes care of all the application logging, etc.

Task queue stuff is handled by a library on top of Postgres. It won't scale to a billion jobs per second or anything but it handles load just fine. If I ever start pushing it's boundaries it's all pluggable so I can switch it back to SQS or PubSub or whatever else.

The task workers run on a single-node k8s cluster hosted on GKE. A lot of people grump about Kubernetes being "overkill" but it doesn't have to be complicated. A single YAML manifest defines your service and your environment variables, you tell GKE to make it happen, you go play in the sunshine. It takes care of restarts, logging, full disks, etc etc etc all for you.

I use Amazon SES for emails. I had some real problems with deliverability until I ponied up for a dedicated IP address and now it's fine.

I use Freshdesk for ticketing. I don't love it at all but I don't yet hate it enough to replace it with something else.

Re: The Tech Stack of a One-Man SaaS

#182
post #139

First of all, thank you all! Just the discussion on this post alone, is a goldmine for anyone trying to figure out what worked, and what not for others. This is why I love HN. To clarify a point about my article, I think everyone should do what works for them. Just because my unconventional stack for a solo founder works great for me, doesn't mean it will do the same for you. Your mileage may vary, and it all comes d…

Hey Anthony,

I really like your product. It's crazy fast, might solve one of my issue, is super simple to use, and the UI is gorgeous.

I've a few questions though:

- how do you compare to other privacy focused analytics tools, such as https://usefathom.com/ or https://simpleanalytics.com/?

- it seems like you just launched your SaaS a couple of weeks ago. Why didn't you launch it earlier by removing some not strictly necessary/MVP features, such as the security login emails, the ability to manage multiple websites, a less scalable but simpler architecture ... ?

- how much time have you spent developing the product? I've been working on my personal SaaS for more than one year, planning to launch it in the next few weeks. I'm still working at my 4/5 full time job, and I really wonder how you managed to deliver this beautiful product while still working fulltime. That would be a wonderful opportunity for blog article BTW.

Great work!

Re: The Tech Stack of a One-Man SaaS

#184

Earlier quoted context omitted.

You didn't seem to get much of a reaction, probably because of your recommendations to go with proven (read: old & boring) tech, but I appreciate it. Front-end churn is real and, coupled with rapidly evolving and ever-abstracting containerization approaches, staying on top of it is a full-time job, best done as an employee.

Thanks! Best done as an employee is spot on.

If I may chime in here, I would humbly suggest that it is best done by whoever enjoys it.

Sometimes that might be your employee, and sometimes that might be you.

I guess it depends on where your passion lies, and what your objectives are?

I imagine that achieving one's financial ambitions in a relaxed and enjoyable work environment is great - irrespective of which part of the stack one enjoys tinkering with the most.

Re: The Tech Stack of a One-Man SaaS

#185
post #20

Honestly, having gone down this path a year back, just use Heroku for your backend. Maybe Netlify if you want to separate your frontend and backend. The amount of complexity and interdependencies these "here's my stack" posts describe are always a huge cognitive overhead for running a one-person SaaS. Heroku costs more, but there's a reason for it. If you're even remotely making money from your product, and are alone…

+1 for Heroku for sure.

My SaaS has grown from $50/month costs to over $2k/month costs on Heroku over the last few years and I'm always eyeing AWS and others as a cheaper alternative, but honestly the ease of mind Heroku gives me is more than enough to cover the costs. I've had a few "hugs of death" over the years when posts went viral and scaling up both in quality and number of servers was literally just a few mouse clicks and then I was back online. Other times, when e.g. Postgres fell over from heavy use, their support brought it back online for me free of charge (and quickly), and offered a list of helpful suggestions that I could do to keep it from happening again.

I see paying extra for Heroku like paying extra for a devops guy. If you're comfortable enough in AWS to handle things in the heat of downtime, it's probably worth moving because it's significantly cheaper. If you aren't, then Heroku might be a pretty invaluable resource even when growing into the upper echelons of cost.

Re: The Tech Stack of a One-Man SaaS

#186
post #38

Earlier quoted context omitted.

Heroku is a great product if you want development speed right from the start. I have used them in the past, and it was a very nice experience overall. For many projects this is more than enough. However, in my case I would be paying 2-3x more if I was using Heroku. With Kubernetes, in case I wanted to deploy new projects or even spin up a "testing" env, I can use the same stack/cluster, and not have my costs increase…

I just wonder how much you're spending per month. Going from $200 to $600 in exchange for not having so many moving parts would be 1000% worth it to me. Usually the margin on SaaS businesses is in the 60% range, most of which isn't infrastructure, so it's a rounding error until you get to the size where you have full time people working on infra.

Taking my first GKE project (done essentially as two man team in the side, and then maintained at quite low level of work most the time)...

The vendor whom we replaced = somewhere above $5000/mo (just infra)

Our final, most costly, GCP spend, including support contract = about $2000/mo (this involves a bunch of inefficiencies caused by developers unable to live with container - or dynos)

Expected Heroku cost, based on their online calculator= starts at $3000/mo, probably more

Expected lower time needed developing on Heroku = negligible

Re: The Tech Stack of a One-Man SaaS

#187
post #20

Honestly, having gone down this path a year back, just use Heroku for your backend. Maybe Netlify if you want to separate your frontend and backend. The amount of complexity and interdependencies these "here's my stack" posts describe are always a huge cognitive overhead for running a one-person SaaS. Heroku costs more, but there's a reason for it. If you're even remotely making money from your product, and are alone…

I recommend just writing a Docker container instead. That's the ultimately portability and you can run in much more efficient environments (Cloud Run, Fargate, DigitalOcean Apps, Fly.io) and still scale up to large Kubernetes-based clusters if/when you need it.

Docker containers avoid the lock-in of a particular platform or CLI, and they can also be used as cheap CI/CD with multi-stage builds within the container.

Re: The Tech Stack of a One-Man SaaS

#188
post #14

It's cool that this stack works for the author, but if anyone is just starting out on their own one-person journey to build a product, I don't think they should follow the stack in this article. There are too many dependencies and too much complexity here. Kubernetes is overkill for 95% of applications, especially single founder SaaS businesses. Clickhouse may make sense for an analytics product but caring and feedin…

If Docker is advantageous, then ECS is great alternative to Kubernetes. It gives you most of the benefits in a fully managed offering.

Especially in CDK you can spin up a service in fargate in 5 lines of code with ApplicationLoadBalacedFargateService

Re: The Tech Stack of a One-Man SaaS

#189
post #61

Earlier quoted context omitted.

>Most people would be better off with a single beefy machine running Linux, Postgres and whatever web app framework they know The problem is back ups. You've got to figure them out yourself. And there's a decent chance that you do it wrong leading to potentially catastrophic data loss. IMHO, managed DB + S3 equivalent and then doing your own server is the sweet spot. You don't have to worry about data loss and it's s…

If you're using something like DigitalOcean, you can enable full system backups for 20% of the cost of the 'droplet' (VPS) a month in one-click. Probably quite a safe bet.

Seems like that is once a week and not recommended for databases for performance reasons.

Re: The Tech Stack of a One-Man SaaS

#190
Wow, there is a like a million tools in use here. Before I clicked the link I was expecting the tool set to be extremely minimal and focused, e.g. HTML+CSS+javascript/node.js. I currently have a bunch of projects using PHP+javascript+HTML+CSS and I am seriously considering dropping PHP and focusing more on javascript, and thus using node.js instead of PHP, so I no longer have to keep up to date with PHP. Anyway, great you can manage it all and that it's working for you.
Post reply on HN