Ever wonder what tech stacks other founders are using and why they use them?
Let's take a look under the hood. 👇
I've used Python/Django since 2011. For the front end, I use vanilla Javascript and Bootstrap. I deploy on an Ubuntu VPS on Digital Ocean. I see no reason to switch or even explore other options when it comes to my stack, as they have served me very well for many years.
Django, Bootstrap, and Javascript are free. I think my Bootstrap template cost me $40 from Envato, but it's well worth it, as it allows me to build very quickly without having to worry about design, with ready-made template pages and components. I get a lot of compliments for the design of Zylvie — little do they know, I didn't even design it, but merely stitched stuff together. As for my server costs, my Digital Ocean droplet costs me $12/mo.
As for why I deploy on a VPS like Digital Ocean, it's because I want to be able to re-deploy my site anytime I need to on another server. I want to be in control and reduce platform dependency. I've heard scary things about PaaS solutions like Heroku, and I want no part of it.
Bubble allows me to create totally bespoke features exactly how I envision them. It's a little more complex than other no-code tools, so I keep the rest of the stack as simple as possible. Mailerlite is very easy to use and has really advanced features. Podia and Ghost take care of my blog and course needs on autopilot. Canva and Midjourney both simplify my image creation, and Plausible is much easier to navigate than Google Analytics. Then my back-office tools like Calendly and Loom are all about saving time.
My career started as a developer, but I am probably the least techy developer I know. I do not keep up with new tools or languages. I stick with what I know and what I'm fastest with. I've been using Ruby on Rails since 2007 or so and I'm incredibly fast with it and I love it, so I pretty much use that exclusively. And Postgres is my go-to database.
I recently migrated my current apps from AWS to Render and I wish I had done that long ago. It saves me so much time and has even reduced my server costs quite drastically. Our Render bill for the Rails app, database, background workers, Redis, and cron jobs is around $160 a month, and we have hundreds of customers running on there.
All my coding happens in Vim. I'm a minimalist at heart.
I use plain vanilla Javascript and some Vue for my Carrd plugins, but those aren’t full-stack apps to start with.
The only full-stack app is Lifelog, with this setup:
The more I develop for Lifelog, the more comfortable I get with this tech stack. I almost feel like this could be the one tech stack to stick to…
But yet there’s a bunch of things I don’t enjoy about this stack. Like the incessant updates, the build step, the tooling required.
Maybe what I should do now is to just ship based on the tech stack I know. But learn the new tech I want to learn along the way and slowly replace the new tech with old with my tech stack, eventually replacing the entire thing. Source
Experimenting with a new tech stack for my upcoming product:
My regular SaaS stack is:
But I wanted to eliminate friction.
The serverless stack (hopefully) will allow me to ease the backend "headaches" and iterate quicker.
And Lemon Squeezy will ease my accounting since it's a merchant of record and I want to test one-time purchases for my new product.
Then, if I need to implement SaaS pricing in the future, migrating to Stripe won't be an issue. Source
Here is the tech stack I use for all of my products:
Frontend:
Backend:
Database:
Services:
I use the same tech stack for all my products:
Depending on the project, I like using:
Pros:
Cons:
Been using NextJS a lot more recently, and love the SSR feature. Only issue I face with it is the need for dynamic importing of certain modules, which can sometimes be annoying. But other than that, a really frontend framework.
Golang is amazing for backend dev. Really love the way it handles concurrency, and the nature of interfaces and types. The code can be a bit long sometimes (compared to Python and NodeJS), but definitely feels very solid for any web app. I am starting to use NodeJS a bit more because I'm trying to ship faster, though! Source
I like to keep things simple, thus I've got mostly static sites with vanilla JS when it's a "free tool" or "service" that can run entirely in the browser/ When it's not, it's running under a small Digital Ocean droplet with TypeScript in the backend and frontend (transpiled in real-time via Deno), without any frameworks or unnecessary dependencies. All with a docker-compose file for the main thing and dependencies, proxied by Caddy in order to have a few different apps running in the same server. And with automatic SSL. These allow spikes of hundreds of pageviews per minute and a dozen of paying customers across a few apps/websites.
There's honestly nothing I dislike about it. It's all pretty stable, fast, and cheap. A couple of servers with backups all come to under $35/mo for ~20 served apps. I get automatic tests and deploys with CI (I use GitHub for OSS, but for non-OSS I have my own Gitea server handling CI too). And it's faster and more stable than when I used Vercel, AWS Lambda, Render, or Deno Deploy, though definitely more expensive.
Keep in mind that if you ever achieve or compare with "big scale" startups, it's highly unlikely you'll see anything that's not AWS or GCP via k8s nowadays, for a multitude of reasons not worth mentioning here. Source
React has the biggest adoption. Whatever tool I need probably exists for React and has a React integration, or was made just for React. Like "React Email". Next.js is the best react framework.
Prisma makes it easy for me. Tailwind is by far the best design library, hands down, no competition. Tanstack Query has changed the way I consume API data, and I will never be able to look back.
All of these tools have big communities, and their future seems very stable. None is bleeding-edge or experimental. Source
My preferred tech stack for a new web app in 2024:
My go-to tech stack for new projects:
Here's how to pick your tech stack.
The frontend world is changing fast, so the approach here is dead simple: Pick any of the most popular tech. You can find the list of top frameworks here.
Backend is more stable. So the choice here depends on a personal language preference.
The best tech stack is the one you already know. Source
One recurring pattern I see from indie hackers who are fast, prolific shippers is that they just use the same tech stack. Every. Single. Time.
It’s a simple and straightforward approach – just use the tools you’re the most familiar with, that you’re good at and can work fast with. The tech doesn’t matter.
Most of the time customers don’t care, unless your customers are devs themselves using the code (like a boilerplate).
I like this approach. But I realize I’ve not really honed in on a tech stack to be able to do it. Source
I never change my tech stack.
So I can ship faster.
Customers don't care about the invisible. Source
Nobody cares about your tech stack.
They just want their problems solved. Source
I wanted to build a simple website for my course and bought a template. I wanted to save time.
I was surprised to read the template used the following tech stack:
• Next.js
• Tailwind
• Headless
• React
• TypeScript
Holy Moly! This is supposed to be a simple site. I wanted to finish it today.
I spent 2 hours. I couldn't make any progress. I threw the template into the trash and started writing vanilla HTML/CSS.
It's ridiculous how much people like to overcomplicate their lives. Source
Django is a mature framework and has a shit ton of documentation, packages, plugins, etc. available. It's also well-maintained and state-of-the-art. I'm most familiar with it and thus can build the quickest with it. There's no special reward for building with the newest, coolest languages or frameworks -- all you'll be rewarded with is more wasted time when you could have done it faster using what you have already mastered.
It doesn't f__ing matter. Just learn something. It's easier to learn new languages after you master one. The switching costs are lower than the opportunity cost of not starting now.
Learn JS (and Node). It works server side. It works for front-end. You can build apps, websites, APIs, and random scripts. And it's not super hard. Source
You shouldn't judge people based on their tech stack. 🤝 Source
Subscribe for more how-tos, roundtables, and interviews with people in the thick of it.
I would say if you want to rank your website on Google SERP, just follow the basic SEO and don't use any blackhead technique to rank for longer period. Here you can check my site i am ranking on 1st position on my main keywords.
Love seeing Digital Ocean mentioned here! They're my go-to for spinning up little experiments and they've proven to be remarkably stable over the ~4 years I've been a customer.
I run my own current project from a teeny tiny droplet that has given me absolutely no issues so far.
I'm a big Golang fan too, so shout out to John Yeo for choosing it. It really is a great back-end language all-around if you're ok reinventing a few wheels here and there. Maintenance is super simple (or nonexistent) once you have working Go code though, so it all adds up in the end.
Thanks for including my invoice generator, James! Appreciated!
Thank you for providing this comprehensive assessment of tech stacks. It's always interesting to see what other builders are using!
Its too informative for me. I am excited to add these on my personal website.
Love this! Thanks for sharing this in-depth review of tech stacks. Always fun to know what other builders are using!
For organic traffic and SEO research I would like you guys to try out my tool which will automate keyword research.
The tool will go tru thousands of keywords which is related to the your targe market and target customer and then come out with the best 100 keywords to target for.
The analysis is done based on the traffic, trend, difficulty and intention data.
It will help you make SEO research 100x quicker . If you want to try it out checkout decentool.com