My frugal indie dev startup stack (2022)
getwaitlist.com
getwaitlist.com
But I get it. If X tool saves time, why not pay for it? I wouldn't call that frugal though because you are still spending where you can save.
Ubersuggest has a comparison page[0]. From my understanding it boils down to Ubersuggest being cheaper and most likely enough for what most users will need, but Ahrefs has a larger tool suite (and much higher cost).
Use one of the OSS password managers to save on 1P. If you have a cloud sync service you already use, KeePassXC + cloud sync will solve having the passwords available everywhere you are. You can even use Syncthing for free (though I'd at least donate once off) since you can use it peer-to-peer between your devices.
SEO really needs disruption here on price. Ubersuggest seems decent.
On Intercom: OP can probably go into more detail on why Intercom's widget is so much better. If it's just animations and UX, then yeah go find some alternative or self host.
What's useful in the self-hosting space is finding either a tool to manage server provisioning & management (e.g. Ploi), or a hosting provider that makes it easy to install (e.g. DO marketplace). Then you're only spending a small fee on the management and only spending on hosting cost (which for a long time can be negligible).
Spending some time to DIY with reliable tools (automated where possible) is IMO still preferable to spending this much money if starting from scratch.
I could see if we were talking about a side project with no commercial intent. But this post is about an indie Saas founder...if a few hundred dollars a month is a barrier to success, then that's a pretty good sign your indie startup isn't starting up.
I find these threads endlessly amusing considering that, for hundreds of years, starting a business involved massive investments in real estate, physical equipment, etc. We're living the dream, yet somehow quibbling over spending $10/month on a piece of software. If it saves you just 2 hours, per year, then it's worth it.
In the context of a business, nearly any piece of software is a trivial cost compared to hiring a human (or yourself) to do a task.
If there was a magic debugger that made debugging 100x easier and faster, but it wasn't free and open source, I'd still have a hard time using it even though it would save me a bunch of time, and easily pay for itself in time and frustration saved.
And most software I deal with isn't exactly free of opportunity cost - I dabbled a bit with accounting tools to the point of frustration and time sunk that I decided to roll my own (built around ledger, in case anyone cares) in about a day. Writing my own tool is sometimes faster for me than trying to figure out how to use one that's not designed around my specific needs.
Sure, 10$ doesn't seem like much, but all these little invoices can creep up to a non-trivial sum.
I find the cost and value of tooling options quite difficult to fully grasp, it often comes down to gut feeling IMO.
What I would want to caution folks for is that the cost of a tool is not only what it actually costs. It's also the amount of time that has to be invested into usage, and potentially migrating to something else a while down the line in case of discontinuation, disappearing capabilities, new requirements, ToS or pricing changes, ...
I ask because I would like to quit my job and build a competitor ASAP.
Also, the problem isn’t the potential cost down the road. If you’re scaling on any Saas product to the $23k/m tier, then congrats, you’ve made it!
The problem is, there’s a 90%+ chance all your cost optimizing upfront was a giant waste of time, because a vast majority of startups don’t work out. And the ones that do often pivot.
I am spending about $140/mo on a dedicated server currently, mostly because I want to run my own mail server without depending on a relay host or nickel and dime costs ($2-10/mo per address). This now runs just about everything I use. Nearly all my apps are dockerized so I can port them to another host pretty easily.
I've also been playing with writing for Cloudflare directly (workers & pages) as well as CockroachLabs (CockroachDB Cloud). Both with relatively low startup pricing and can grow as needed based on usage/demand, both with a relatively clean self-host strategy as an exit.
It would be too easy for me to wind up paying $20-30/month or more on a dozen or more projects. I try to keep this down, as if I don't touch something for a month, or don't complete it for a year, it adds up quick... If I keep baseline costs low, it's less of an issue.
If I was 20 years younger, I'd probably have gotten more of these things done or put more effort in. The tech costs are a lot better today than 25-30 years ago when I was starting out. But I'm still pretty mindful of it.
That implies bare minimum spend not splurge-in-just-a-few-areas cost to time savings benefit analysis.
No, because nobody thinks that it'll happen to them. Their company's/startup's/side project's product will be worth paying money for, and surely nobody's going to try to start an open-source product that will compete with them.
It's always somebody else.
I think it's more about minimising the cost with effective alternatives rather than just taking whatever the "brand name VC startup/scaleup" is in the space and forking over hundreds of dollars.
You will more likely always have to spend money to make money, I agree. But if starting from nothing, having an immediate -$200/month (up to $500+ once the free credits run out) before you actually make any money does not sound like a good time.
Also take into account when running multiple such projects. Survivorship bias in our space is real, and it takes a lot of hits to "make it big". That can easily pile up to thousands for a handful of projects while none of them get near break-even before you go bankrupt.
All it takes is finding a good-enough alternative in the space, or if you trust the software enough to self-host, do that.
There's nothing wrong with actually trying to be frugal. We're supposed to have the skills to be more self-sufficient in this space, and I don't think it's a negative to want to actually do so. And neither is paying for something if you feel the premium is worth it.
The right way to build a startup is: offload your infra, self host everything you can while balancing the maintenance effort/cost.
It is truly amazing to me the value that is provided by renting hardware instead of VPSes. As long as you're willing to roll your own infrastructure instead of buy into a cloud provider's infrastructure.
In the end self hosting and self managing is a money / time trade off, especially for a side gig I’d us SAS and managed solutions. The one thing one has to make sure off is to not get locked in with a particular provider, so knowing how to do everything yourself is a very valuable skill.
I was there when someone at AWS accidentally unplugged an entire region.
Shit happens, it doesn't matter where it's hosted. People act like the cloud is infallible or something. You're literally sending lightning bolts worth of electricity through bricks of metal. Anything can happen.
Uh huh. This is why DevOps/SRE roles pay more than development roles.
“Step 2: draw the rest of the owl”
However, most people do not - some will learn, but most will fall for the cloud marketing depts and become infra renters for life. Teach a man to fish, and so on.
So, yeah, it's good that you asked, because it's not as widely known as the people that use it think it is.
It was actually painful to see start ups spending thousands a month on hosting, that could be easily achieved as you say under 100 pcm plus. They would have to get a contractor to set it up and for support, but it would have worked out much cheaper and they could have bumped the salaries of their workers.
Why is that?
You see the same thing in the corporate world for in-house stuff. Your manager (and your manager's manager) don't want to hear about in-house or self-hosted things that AWS can provide.
This is totally understandable. It's a repeat of the whole "nobody ever got fired for buying IBM" mantra of computing's early decades.
It also totally sucks.
Do you have any learning recommendations for someone looking to start down this path? I've only ever worked in an infra-renter context, and I've begun exploring the 'rent from Hetzner, manage your own infra' for personal projects, but I would love to learn from the paths of experts where possible.
Ideally, you also have some exposure to this at $job as simply building DIY infra horrors without seeing the real-world context, tradeoffs, etc. in which they typically operate will be misleading.
1. a DNS monitoring with failover (DNSMadeeasy has a decent solution)
2. a Haproxy setup with health checks for switching to a working upstream service
3. a distributed filesystem
4. a master-slave replication with monitoring (something like Mariadb + orchestrator service)
and nightly backups for all this. Database and FS are latency sensitive so they shouldn't be too far apart.
There's no reason someone should have to run a service like Chatwoot themselves, the software is so good that it's mostly set & forget for most small use cases.
That's where I come in. Unfortunately I don't have ChatWoot yet, but I have (and use) Umami for page view tracking extensively on my own projects now, with Nimbus[1]. The dogfood tastes decent so far.
The first thing I want to do is add a backup mechanism that isn't just take a snapshot -- There are a bunch of similar tools to Umami and I don't think that any of them have a really good cross-project way of taking backups.
Feels like there should be a page view/analytics backup standard, so you can easy move from a tool like Plausible or Umami and try out a new one, like Fugu.
But outside of advanced functionality I think my platform is just a lot closer on cost. The instance costs don't go up per traffic served (especially since 99% of people won't need that) -- it's more like parts + maintenance (and since Umami is good software it doesn't need a TON of maintenance either, just regular patches and some monitoring/extremely light resilience engineering).
In the end, was an interesting learing experience, that I hope to not have to repeat. Only went for a single server as I had several smaller VPSes on DigitalOcean and wanted to add a mail server in the mix, and couldn't reliably send via DO or Linode, so was easier to consolidate and run on a single/larger host for hobby projects.
I use a $6/mo box for my primary business hosting, but I have a $3/mo one that I'm using to build v2, really just to prove what's possible. If you set up your DB and caching right you can do so much with so little...
You get a lot of bang for your buck out of them.
Yeah - I remember a StackOverflow talk[1] where they basically said that they just vertically scale their database.
The fact that they were able to make it work tells me that most businesses should probably just go that route and avoid the headache of distributed systems[2].
---
1. https://www.infoq.com/presentations/stack-exchange/
2. Obviously a business should probably invest in redundancy when it comes to data (as did StackOverflow), but a pure "Raid 1" setup is the easiest of distributed systems to understand.
I built a forum/social site that way back in the day and it was active and profitable for 10+ years.
It also feels like the art of optimization has been lost.
For small and medium sites a lot of today's crazy build pipeline and distributed asset hosting complexity can be sidestepped if you just focus on optimization and making sure that cache expiration dates for your assets are set correctly.
On the server side, it is considered "normal" these days to have maybe 50+ database queries per request. People then reach for expensive and complex database solutions (clustering, etc) before doing simple app-layer optimizations like caching.
* Serverless - in that you don't need to do server admin
* Online IDE - CPanel lets you make changes online to your code
* Continuous Integration - When you save the file online it is in immediate production
* Branching - you can copy a folder from one subdomain folder to another - this effectively gives you a poor man's git and environments in one swoop!
It is like a REPL of web dev. Nothing can come close to it, because once you made your changes they are live, there is no infuriatingly slow publishing step.
3.375$ a year: call it frugal...
Seems like a high bill for what sounds like basically a hosted email list? I would have expected compute and storage costs to be very low.
E: This was NOT a point about how cloud costs are ridiculous. Even for cloud this seems high.
Free credits are the ingenious marketing ploy of all big clouds to delay price comparisons until some amount of lock-in is achieved. Sure, you could likely host it for 1/10th to 1/5th of the cost elsewhere. But then you would have to pay from the get-go, and on AWS it's free™ (until it isn't)
I have a hard time understanding where the cost is coming from. I can only assume it's because of the DB as opposed to the instance or S3.
I wouldn't be surprised if it was over 10x cheaper if you didn't use cloud hosting.
I am not sure I know the reason behind it honestly.
Either you go with something like Dynamodb or planetscale or the least you pay is 40€/m using AWS Aurora serverless.
As soon as databases start to charge for computing time the cost balloon out of reach of hobby projects.
You can get it down to $12/month by going with a t4g.micro (2 vCPU, 1GB RAM), single-az, no proxy, no backups, 5GB storage; with price after that scaling roughly linearly with RAM. But the interface will scream at you the entire time that this isn't reasonable for a production setup.
I think Proxy _is_ overkill and perhaps expensive for what it is. For a pg install, running pgBouncer isn’t difficult. But I guess that depends on whether you’re authenticating with IAMs, which doesn’t sound trivial with bouncer (it might be).
It is really no different than managing VPS's, in all honesty (just less expensive and tangible). I spend less than one hour a week doing updates and routine maintenance. Drive failures happen rarely, and can usually be swapped out within a few hours (this is what RAID is for).
More time is spent dealing with k8s and it's shenanigans than dealing with the actual servers.
Many people don't do that. My company uses EKS and we just send dockerfiles and yaml files at it. We don't ever actually interface with an ssh prompt on our servers
If I had to build it, I would expect using Lambda, DynamoDb and S3 would likely bring the hosting cost to down to a couple of a dollars a month max.
Btw my comment wasn't an insult, "hosted email list" genuinely seems like the primary functionality and I wouldn't have expected it to use many resources.
Being solo myself, I aim to keep my costs as low as possible as well. Until my last product, all my previous products I kept the running costs to $3 per month (just for the server on hetzner). Rest all were free services (tawk.to for CS, Zoho for email, postmark for emails, and so on). Granted they weren't making much, just couple of hundred dollars per month, but then it was pure profit and it got fun to measure the returns in profit than just revenue.
For the latest one, all in all I spend around $30 per month with close to $1250 in mrr. So it has generous spend to return ratio. The only three running cost are the helpscout (for customer support, docs, etc.), google workspace and the servers with Hetzner. HelpScout and Google workspace were my way of "splurging" the costs.
Last I checked I was using close to 16 services (ranging from marketing to revenue tracking), so weren't really skimping on tools to save costs either.
The free tools (including several the op mentioned) are awesome to get started, but many of these services' costs would jump multi-fold even if you add one other team member or go just above the limit. That's anyway all these services' business model as well.
The author does come across more as a business/operations person first, developer second. Most developers would not consider tools like ahrefs or intercom or even realize that marketing is generally more difficult/important than the develpment work itself
Relatively speaking even at all these costs I would consider this to be frugal. If your a skilled developer you would easily be worth at least $100/hr
Taking off the shelf solutions with easy scalability of services for adding additional people operationally is important
time saved is time earned, time is money, and money saved is money earned
Also, I use dokku for deployment, so it's very similar to heroku and uses heroku buildpacks.
Hetzner - Servers.
Helpscout - Customer helpdesk
Google - workspace Email
Github - Source code
Airbrake - Error monitoring
Posthog - Analytics
Shortcut - Project management
Canny - Feedback & Changelog announcement
Stoplight - API documentation
Slack - For app testing
UptimeRobot - Uptime monitoring
MRR - For subscription tracking
Mailgun - Transactional Emails
Reform - One time used for feedback collection
Calendly - Call bookings
Paddle - Payment platform
Why spend $300 in AWS credits to begin with, when you can use Hetzner, and switch to cloud when absolutely need to? (or shut down)
I used Lambda + RDS knowing I had a year before it would cost me anything - luckily I found paying customers before that day came.
I was unwilling to risk having a side project sit there idle and cost me $30/mo or so. I imagine there are hundreds if not thousands of small businesses that started the same way.
First, the author is clearly a hustler, as many of these definitely-not-cheap services are being paid for under free credits. Cheers to them for that. If AWS is willing to give someone $5000 to get going, take it and run. I do think that makes it slightly disingenuous to then say one is running their business on the cheap, but if they can get profitable before that well dries up, who really cares and no one is hurt.
Second, and I saw this theme in the comments as well, if these are valuable services, they're worth investing in. SaaS uptime is definitely important, and it would be a silly risk to self-host such a thing. Frugal is a good way of looking at it, but if these tools help ultimately make money, they're worth paying for. I think that ties in to point 1, where the free services are meant to help you prove that out while also entrenching you slightly if it holds. But as someone who is notorious for yak shaving, being able to shove code out the door and not worry about the rest of it is deeply appealing and worth the gamble.
It seems to work pretty well, it could be entirely self-hosted, but I like using a 3rd party service, mostly to make sure the emails are delivered and because I don't yet have my own self-hosted mail service (planning to start one soon, especially for such transactional emails that I receive myself and can make sure they don't arrive in spam).
>No surprises here. I used to use Plausible, but that costs money and you can't beat free. Monthly cost: $0.
Thanks hard pass. I checked and Plausible starts from 9 Euros a month. This is hardly what I'd consider advertising material. But likely I'm just not their target audience.
There's also no consent banner, so this doesn't seem GDPR compliant
Edit: I must have phrased this in a confusing way. They are NOT using Plausible but GA. I'm well aware cookie-less analytics does not require consent
Edit: If you mean this is stated in the blog post, I can't find it
I'm not sure what you mean by "consent banner". If you're referring to an annoying "allow us to track everything you do" pop-up, that's probably because Plausible doesn't attempt to track everything you do.
They have plenty of privacy information on their site [1].
ad_storage='denied'
> Requests are sent through a different domain to avoid previously set third-party cookies from being sent in request headers.
> Google Analytics will not read or write Google Ads cookies, and Google signals features will not accumulate data for this traffic.
> IP addresses are used to derive IP country, but are never logged by our Google Ads and Floodlight systems and are immediately deleted upon collection. Note: Google Analytics collects IP addresses as part of normal internet communications.
https://support.google.com/analytics/answer/9976101?hl=enPlausible uses this one weird trick where they don't use cookies and don't store PII, and thus don't need consent (neither for cookies nor for GDPR). You lose some data because you can't track users across visits, but you gain accuracy (because you can track every visit, not just people who agree) and don't have to annoy your visitors.
And once you have that you can also track visit time a bit better, or track goal conversions like how often people click some specific button. But other than that it's basically a more modern webalizer.
Also, last year I found a bug in Plausible's script which silently stops it working on some pages, so your data won't be accurate in those scenarios either.
Tangent, but cookie-less analytics may also require consent. It's about PII, and cookies are just one mechanism to tie information to a person.
For example: browser fingerprinting doesn't use cookies, but serves the same purpose.
This is an read-it-later app https://hamsterbase.com/
• Official website deployment: render.com
• Code hosting: GitHub’s private repository
• Issues management: GitHub issue
• Product release: GitHub release , dockerhub
• Email: Free email service from larksuite.com
• Document management: logseq, a free, open-source note-taking software.
• Newsletter: substack
• Design: Figma
Good to know that you can get these free credits, but perhaps the OP should also post the total costs when he runs out of free.
Normally, Stripe is not cheap: 2.7% of every transaction is no small slice. Thankfully, I was able to get $70,000 of credits for which Stripe's fees wouldn't be applied.
My AWS bill would be $200-300 a month, except it's free because I got $5,000 in credits from AWS Activate.
I like using Retool as a simple Postgres interface and to do basic data visualization. One seat would cost me $10/month, except I asked them nicely for a startup credit, so now I have it for free.
This would cost me $89.95, but Twilio (Sendgrid's parent) also has a startup program, via which I got $150/month in credits.
https://buttondown.email/stack
---
A couple notes on where I differ/concur from OP:
1. ahrefs is absolutely worth its price in gold.
2. IMHO intercom is overpriced relative to competitors depending on how you use it, with the caveat that I hate in-app messaging widgets and consider them a blight on the modern web. (HelpScout is my preferred app.)
3. I deeply miss my Free AWS Credits Era.
> …it's free thanks to a generous friends and family plan
Amen. I thought I was alone in this.
I mean, unless you're running on processing credit, this is objectively not the case. You just don't see the cost because it's deducted before it hits your balance. It's easy to forget that payment processing is not free, and that creates a blind spot where you're kneecapping your revenue with inefficient ways of doing billing.
https://github.com/andrewarrow/feedback/tree/main/filestorag...
All the code I write is in bucket form, ready to flip a switch and use real buckets but 100% free up to that hard drive limit.
Honestly, if you're using AWS for VPS, S3 and RDS you're better off on something like DigitalOcean or no cloud at all.
Also, I don't understand using SendGrid and Sentry when you're already on AWS and have SES and CloudWatch. You could even connect CloudWatch with PagerDuty via alarms and milk their free tier to get notified when you have errors. You can use CloudWatch pretty extensively and still stay within the free tier and I think SES would be ~$10/mo at their volume.
Sentry is a great product, CloudWatch is a real pain to use.
The problem is that one does not simply build “cloud agnostic” services and you would probably spend a not insignificant amount of time migrating between them every year or two. But if you were really good at cloud and could do this efficiently and quickly it would probably be worth it
Why? From personal experience, everything I do is either:
- a static site, which you can run on anything from Netlify to some static CDN to GitLab Pages to a potato, or
- a bunch of Docker containers, which I usually run on Docker Swarm on any random VPS, and manage with my own little tool, https://lunni.dev/; AWS of course has some “cloud native” options for that, too (ECS + Fargate?), but I find predictable monthly bill a bit better on my nerves.
This and some S3-compatible storage do wonders for me.
To be fair, I assume the gameplan here is to exit ASAP, so we don't even need a 5 year plan. "Opex" doesn't even really exist. It's all about investing capital in a successful exit.
On the stack itself: it might seem overpriced (or even overengineered), but if that's what they're comfortable with, so be it. Getting your product out there faster and being more agile (no pun intended) is worth much more than saving here and there - you can always optimize later (which is a place most businesses won't ever reach, unfortunately).
Be careful with using their CI tho, even if it's good, you hit the limit quite fast (especially storage, not minutes; and they don't report properly where the storage expenditure comes, so it's very frustrating).
How do you reduce the cost of zero?
I see the post is getting eviscerated in the comment section. But if this person is spending mere cents in operating costs when compared to the profit earned each month or year (I think in business terms this is known as customer acquisition costs). Then I would say that is truly “frugal”
On the other hand, while OP’s stuff generally looks like some good decisions were made, there are a few items in there that just seem like criminally bad value for what you get and you wouldn’t spend near that much time and effort switching to something much cheaper. Vercel stuck out to me as one of these
My guess is that RDS is eating up the cost here?
I've been using Litestream on datasciencesouth.com - it has flaws but if you can get away with it, it's much cheaper than RDS.
You don’t get any tax benefits having the LLC in Delaware since you still have nexus in your home state and you’ve just made your situation more complicated by also having to file the nexus paperwork on top of your Delaware paperwork and fees. There are some ancillary things like being able to hide you own the LLC if you register in Delaware (or a few other states like Wyoming) but those don’t really matter for the vast majority of people.
I didn't know that some of these tools offer a startup credit program. I know some of the tools mentioned would have been helpful for a project that I have been working on in the last couple of years[0].
[0]: https://zesfy.com/
It handles logging, exception handling, performance monitoring, and anomaly detection. Starting at $20/month.
If anyone looking for free alternative for certain tool that you can use to help your startup. Here is the open (re)source project: https://freestuff.dev/ (free stuff for developer)
Is it? It's not the React part that's adding to the tedium, I am sure; that part can be trivially automated away. Is it any more tedious than self-administering the deployment of older-school php apps?
It is cloud software. I expect them to get hacked sooner or later.
Go with https://www.enpass.io/ lifetime instead and safe a LOT of money.