Live data from Hacker News

The Tech Stack of a One-Man SaaS

panelbear.com

211–220 of 259 posts

Re: The Tech Stack of a One-Man SaaS

#211
How do you begin to learn all of those tools? The coding itself doesn’t scare me, but the configuration of all those tools is something that makes me feel like I have barely learned anything since college.

Re: The Tech Stack of a One-Man SaaS

#212
post #46

As a one-man team operating a 10+ year old SaaS product, I’ve done two things that have helped keep things sustainable. The frontend continues to be server generated. PJAX style partial page updates is (mostly) dynamic enough. The maintenance burden of operating a JavaScript frontend is too high to justify for a 1-2 person team. The second thing I’ve done is avoid containers. VMs work fine for many types of applicati…

I'm glad you shared this. I've been reading the comments here with much interest but simultaneously also a sense of impostor syndrome, for I've been running my one-man SaaS on generic LAMP since 2005, and aside from adopting jQuery early on, I haven't much touched any other piece of exciting tech that's come out since. My old and boring stack works just fine on the VMs that it runs on, and and continues to support me…

Doing your own thing while supporting your family is awesome. It's a difficult thing to do.

The SaaS I run isn't mine. Back when you were starting your SaaS, I was probably spending all of my time chasing the latest shinny tech :) Some of that was worthwhile but some not. The experience taught me to slow down a bit. Sometimes I wonder if I've slowed down too much. We'll see.

Re: The Tech Stack of a One-Man SaaS

#213
post #211

How do you begin to learn all of those tools? The coding itself doesn’t scare me, but the configuration of all those tools is something that makes me feel like I have barely learned anything since college.

The easiest way to learn this (or anything, really), is to start small. You don't need to invent Facebook on day 1 - start with something small (probably the backend, that's the simplest) and add new tools when you find need for them.

In the linked post, they mention both Django for the backend and Redis as a cache. Django has caching built-in though, so until you need more complex caching logic, you probably don't need to reach for Redis.

Re: The Tech Stack of a One-Man SaaS

#214
Taking a different line of questioning: Does anyone have any insights or resources on the non-tech stack a one-man SaaS should use?

At various points, I've looked into opening a single-owner LLC to hold some small side projects I want to put on the internet for fun, but the number of decisions and amount of overhead has always seemed pretty daunting.

Re: The Tech Stack of a One-Man SaaS

#215
post #144

Here's my self-serving advice for every one-man SaaS: Use Heroku. It's super easy to get started. And when you reach $2000+ in monthly bills, hire me to move things over onto dedicated or EC2 so that you'll get 10x that performance for the same price. As for the actual language, I think PostgreSQL + Ruby Backend + JS Frontend is still the easiest way to get started. All those great architectural ideas don't matter mu…

How hard is CORS set up with dedicated frontend/backend? I'm running into this with Django REST and VueJS. Or do you just host both using Heroku?

We use Django REST and an angular frontend. Django is hosted on heroku, and angular is hosted on netlify. Netlify makes it super easy to proxy API requests from the front-end to our API backend.

Re: The Tech Stack of a One-Man SaaS

#216

Earlier quoted context omitted.

No it's not, assuming your database sits outside k8s there's absolutely nothing that needs to be fit inside k8s, a simple machine running docker if needed is more than sufficient. K8s is such a huge mental overhead that if it's not already naturally in your head because you've had extensive experience (or apparently born geniuses) no one with limited tech budget should ever do this.

All of these tools (Terraform, Kubernetes, Github Actions/Other CI) seem like overkill until a node dies and you need to recreate it, or configuration gets messed up and you don't remember how you deployed it in the first place. It sounds like the OP has had experience with these problems. If these aren't problems you have interest in solving, then Heroku or a similar platform would be the way to go. Running a busine…

I have had significantly better uptime with my production dashboard app running on an EC2 instance that has been up and running for 3 years straight, than every other team I am aware of that uses kubernetes. The more complexity you add, the worse things get.

Of course, you can't most of the time run production apps on a single machine, but my general approach has been to add the least amount of infra overhead - in our case it has been elastic beanstalk. It has been reliabile and zero touch for us for years now. I have heard of some people saying EB is good till it works and when it doesn't you're screwed - my backup plan for that case is to continue keeping that EC2 instance running, and generally make sure you can run your app without too much hassle in a fundamentally different stack at any given time.

In the end, by depending on RDS and EB we have never had to worry about infra or scaling in our team. This is in stark contrast to every other team I've seen or worked with, where upgrading your eks version, or certificates expiring or etcd getting unresponsive or environment variables leaking between multiple prod and stage or someone accidentally deploying to prod because they didn't specify the correct name space in their deploy script or a hundred other reasons made their k8s deployment a nightmare. You can argue that this is a sign of bad training or practice, but I'm working with the same engineers on this stack that's so much more foolproof so when can we start blaming the tool a bit as well?

Re: The Tech Stack of a One-Man SaaS

#217
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…

Is there an open-source Heroku alternative? I've used Heroku in the past and the "just deploy application code" nature is great for most applications but you're locked in to one vendor. Cloud Foundry?

Re: The Tech Stack of a One-Man SaaS

#218
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…

Agree on Heroku as well - the cognitive overhead they help take care of is well worth the money. There are other commenters saying "but it's expensive!", but your comparison should be Heroku vs. a Devops person (or yourself), not Heroku vs. . My one complaint is that their support seems to have gotten worse over the years - they used to have great support engineers across the board, but have hired poorly recently, sp…

It takes me about 2 hours to setup docker container + Github pipeline. I don't see why this is difficult. I am not saying go all out and manage your kubernetes cluster. I am saying that packaging your application in a docker container and running it in a VM is pretty straight forward.

Re: The Tech Stack of a One-Man SaaS

#219

Here's my self-serving advice for every one-man SaaS: Use Heroku. It's super easy to get started. And when you reach $2000+ in monthly bills, hire me to move things over onto dedicated or EC2 so that you'll get 10x that performance for the same price. As for the actual language, I think PostgreSQL + Ruby Backend + JS Frontend is still the easiest way to get started. All those great architectural ideas don't matter mu…

Okay, this thread is making me nervous about Heroku. I'm building a web app that runs on it and I clearly have not given the pricing scaling as much thought as I apparently need to. My site is a firebase powered SPA, so the only thing Heroku has to handle is the initial pageload....I would think that the standard 1x dyno would be sufficient for that....which is not very expensive...

If you are already using Firebase, why not use Firebase Hosting or Firebase Functions?

Re: The Tech Stack of a One-Man SaaS

#220
post #191
post #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, grea…

All JS is the place to be. TypeScript is an amazing dev experience, NodeJS is decently performant, and then it's all portable as hell thanks to the web.

do you know how nodeJS compares to PHP in terms of performance?
Post reply on HN