Ask HN: What is the best tech stack to develop a SAAS Service?
There is no &quot;best&quot; tech stack. In fact, this is one of the least important questions you should be asking when starting a software company. In rare cases your choice of tech stack will have a meaningful impact on your business outcome. For example, Whatsapp probably did benefit quite a lot from deploying Erlang. I would argue that if you have to ask this question, it&#x27;s the wrong question to focus on.<p>In almost all cases, the tech stack is essentially meaningless. This runs counter to what we frequently want to believe as engineers because there certainly <i>are</i> meaningful <i>technical</i> differences between languages and frameworks. These differences just don&#x27;t generally translate to meaningful business results.<p>For example, I am aware of a SaaS company with fewer than five employees total that generates over $3M in revenue annually. The profit margins are mouth watering - total non-payroll expenses are high five figures&#x2F;low six figures each year. Everything is developed with PHP and MySQL - it would be vilified here, but it&#x27;s more successful than virtually all the SaaS companies mentioned on HN.<p>I cannot tell you how many YC companies I have worked with that use Python, Ruby, JavaScript, Go, etc. At this point when I&#x27;m on a scoping call with a founder, I can roughly map out when the company was founded +&#x2F;- a year simply by listening to their technology choices. I have not seen any meaningful difference in whether or not the company ultimately went on to great success based on the tech stack. Instead, I have seen companies go on to great success based on proper identification of real pain points, product-market fit, marketing and ability to execute well while wearing many hats. (But do keep in mind that this is anecdata and subject to usual biases of statistical rigor, or lack thereof).<p>My advice to you is this: develop your software in whatever language allows you to think <i>more about business decisions</i> and <i>less about technical decisions.</i> Your aim should be to build fast, iterate fast and fail fast. Many engineers who start companies struggle with this because technical decisions are their comfort zone, but your company will succeed or fail based on how well you identify market opportunities and figure out what your users want. If you just happen to be most comfortable in an &quot;academic&quot; language or a really trendy one, go ahead and use it. However, if you&#x27;re most comfortable in Python, but you fetishize functional programming or React + Node.js because of the Medium posts that pop up on HN, go with Python.<p>Practically speaking for you specifically - I would first revisit whether or not you actually need a web app and <i>two</i> mobile apps. Could you get away with a minimal web application and choosing only one mobile application to start? Maybe develop in iOS <i>or</i> Android first, observe how your potential customers use the app, address grievances and product a mobile app for the other platform in the next iteration.<p>As for the actual technical choices - if you know several ways of developing iOS&#x2F;Android&#x2F;web applications, go with what is most familiar to you unless you have clear and incontrovertible evidence that one technical choice is clearly superior. If you have to learn a new tech stack to develop one of these, then 1) don&#x27;t focus on it now, focus on market validation and 2) choose tech stack with the best combination of stability and ease of use to get up to speed with that platform.<p>Good luck!