Who cares about Tech Stack?
Let's tackle the most important - your clients do not care what you use for your website or application. They care about experience and solution you provide. It should be easy to use, loading times should be close to 0, and it should solve the problem they care about. Else? They will leave. Think about it, how do you use other apps? Most likely in the same way. In todays world there are so many solutions, and that's the reality.
However you should care about tech stack, but not too much, especially when starting. This decision is important, however while building MVP you should keep in mind that some fast shift might be needed, and potentially you will have to rebuild entire application. That's reality, many did it, including myself. Let's dive deeper.
Key factors in Web Tech Stack choice
You should keep in mind that your users care about - your framework cannot cause website to load for too long, however it's hardly ever the case in modern world, so let's skip that. Ease of use and problem solving abilities are up to you and your team, during building process so we can also skip this factor in the decision making process. Okay, so we can focus on us - developers. What should we care about?
Does my choice fit the problem I solve?
You should choose right tool for given job. Of course, in the early stage any outcome that will deliver desired outcome, and help you validate idea and grow, will be okay. However you shouldn't use something just because you know it. Examples?
- I am happy that you know gRPC, but it won't be a good choice when you want to send data from server to client.
- You are good in Ruby? Nice, but Python will be better choice for most of AI projects, just admit that.
You can apply the same choice process to any tech stack choice.
Does time matter?
Most likely it does. That's why your choice might not be perfect. And it's okay! I think that you shouldn't pick up given technology just because you know it. However, there is a big probability that you do not have to dive deeply into the choice, and you do not have to choose between e.g. different front-end frameworks. You can just pick up React if you know it well, or Vue if you just delivered project in that, and it went well. Do not overcomplicate it. We have to keep balance in that choice.
Will I be able to get some help?
Let's consider something that everyone wants - happy path. You will build MVP on your own, it went well, however it's not perfect. You want to progress with development, while users request some changes, to adjust a tool, to add new feature. It came up that it will take ages for you. You seek some help, but you chose super niched framework, that no one uses, there are no developers with experience in it, and even if there are, they are super expensive. You are not in the best place.
Let's also think about bugs and errors. The same case - you already have users, you want to progress with development, but there is some low level issue, that occurs only on specific device (that you of course do not have), and in specific conditions. It came out that it's related to framework that you have used, but there are no open issues, there are no solutions on stack overflow, and ChatGPT doesn't know anything about it. You have to spend next 3 days debugging it, before fixing it.
Bigger community is a big +, and there are no doubts. I do not wish you any low level issues, but from my experience it always happens, on some stage of development, and I think that it might be worth to use more common tool just due to that reason.
My Tech Stack choices
My go to Tech Stack has changed over time, however as I focus on web app and website development full-time, I came out with the one that fits 99% of use cases. What do I focus on? Being able to get the job done, speed of the solution, reliability, familiarity with the tool, speed of development, developer experience, available libraries and community size. That's why most of my solutions use TypeScript, Next.js, TailwindCSS as backbone, and Vercel as deployment solution.
Of course, I came through long journey, until I came up with that. Trying out different things was crucial in picking up the right tool. I feel still open minded about my tech stack, and I think that this is the right approach, as it all depends on the project, and more importantly, it changes overtime (and time moves rapidly in this space!).
Conclusion
Tech Stack choice is important for tech startups, but as with everything we should consider key factors, focus on needs of end users, and balance everything. It's all about picking the right tool at given time, and being open-minded and flexible when changes are needed.