When do you need to scale your startup’s tech stack?
Most of the time you don’t need to worry about scale in the beginning. A lot of early stage companies end up spending way too much time focusing on scalable infra such as setting up microservices, kubernetes, service meshes, and unnecessarily complicated networking setups. Get a lot of users first, worry about scaling later.
“Do things that don’t scale”
Paul Graham in his essay “Do things that don’t scale” emphasizes doing things manually early on.
You want to provide as much value to your users as possible, and if that means doing things such as making manual data entries in a Google Sheet then so be it.
I recall that in the early days of Lyft and Uber drivers accepted cash directly and the app was quite rudimentary. They definitely did not have things figured out completely from a technical perspective. Today they’re multi-billion dollar companies and have the resources to deal with scalability issues quite easily.
Validate your product with real users
It’s easy to get caught up in the process of building stuff and never get to validating your product with actual users.
A good friend of mine used to work at a health care startup in which the founder was quite successful from his previous ventures. Naturally, they had no issues with funding. The first mistake they made though was buying a data center and filling it with servers without a product. They then started building a product they thought people would want. The team had designers, engineers, PMs and marketing. What they lacked was basic market validation. It turned out later that there was no demand for their product, and they ended up shutting down in a couple years.
There are many such stories of failed startups but you rarely hear about them because only the ones that are successful are glorified.
Learnings - Be Scrappy Early
Don’t spend a lot of money on infra or worry about scaling early on. The first version of your product is likely going to be rough around the edges. It’s just a fact that you’re not going to have everything figured out. The founder of Instagram, Kevin Systrom, is well known for saying, "If you can actually build a version 0 of something, that's good enough. And if people like it, keep iterating on it." Be scrappy. Keep building. Validate + Iterate.
Scaling is a great problem to have
Having the problem of scale is great because it shows that your business or product is growing very quickly. When you get to that stage, have belief that you can figure it out. If that means reducing costs by going from a managed service like Vercel to a VPS or refactoring portions of your tech stack to add caching and the necessary infra, then so be it. The thing is that once you get to that point, there are people there to help you figure it out and tons of information to point you in the right direction.
Does your tech stack really matter during the early stage?
Whether you use NextJS, Rust or PHP for your V0 doesn’t really matter. As long as you’re addressing basic concerns like security and privacy anything works in my opinion. Facebook’s V0 was famously written in PHP and had a set of 5-6 basic features. Today generous free tiers for platforms like Netlify or Vercel make it very easy to launch something.