Choosing a tech stack is one of the earliest technical decisions in building a product, and one of the hardest to reverse. Pick well and your team moves quickly, hiring is easy and the product scales. Pick badly and you'll fight your tools for years. The good news: the right choice is usually less about the newest technology and more about a few practical criteria. Here's how to decide.

What a tech stack includes

LayerWhat it doesCommon options
Front endWhat users see and interact withReact, Next.js, Vue, Svelte
MobileNative or cross-platform appsReact Native, Expo, Flutter, Swift, Kotlin
Back endBusiness logic and APIsNode.js, Python, PHP (Laravel), Ruby on Rails, Go
DatabaseStores dataPostgreSQL, MySQL, MongoDB
HostingRuns the applicationVercel, AWS, Google Cloud, Azure
ServicesAuth, payments, email, searchSupabase, Stripe, Resend, Algolia

The criteria that matter most

1. Team expertise

The best stack is often the one your team, or the team you can hire, knows well. Productivity and quality come from familiarity.

2. Maturity and ecosystem

Mature technologies have more libraries, documentation, answers to common problems and security fixes.

3. Hiring

Can you find developers for this stack in your market and budget? Popular stacks make hiring and handover far easier.

4. Fit for the product

Product needSuits
Content-heavy marketing site with SEONext.js, static generation, headless CMS
SaaS dashboardReact or Next.js front end, PostgreSQL, a robust back end
Real-time featuresTechnologies with strong real-time support, such as WebSockets or managed real-time databases
Mobile app for iOS and AndroidReact Native/Expo or Flutter
Heavy data processing or AIPython is common for data and machine learning work

5. Scalability

Most stacks scale further than a startup needs early on. Architecture and database design usually matter more than language choice.

6. Cost

Consider development time, hosting, licences and ongoing maintenance, not just the price of tools.

7. Security and compliance

Choose technologies and providers that support your security, privacy and regulatory requirements.

Common, proven stacks

StackTypical useStrengths
Next.js + TypeScript + PostgreSQL (e.g. via Supabase) + VercelSaaS, web apps, marketing sitesFast development, strong SEO, one language end to end
React Native / Expo + Node.js APICross-platform mobile appsShared code across iOS, Android and web
Laravel (PHP) + MySQLBusiness web applicationsMature, productive, large ecosystem
Django (Python) + PostgreSQLData-heavy apps, AI integrationsBatteries included, strong data tooling
Ruby on Rails + PostgreSQLRapid product developmentConventions that speed up building

Build vs buy for each layer

Don't build what you can rent reliably: authentication, payments, email delivery and search are often better as managed services. Focus your custom development on what makes your product unique. Our article on custom software vs off-the-shelf tools covers this trade-off.

Mistakes to avoid

  • Choosing a technology because it's new or fashionable
  • Picking a niche language that makes hiring hard
  • Building custom infrastructure too early
  • Using many different languages and databases in a small team
  • Ignoring how the product will be maintained after launch
  • Over-engineering for scale you don't have yet

Questions to ask before deciding

  1. What does the product need to do in its first year?
  2. Who will build and maintain it?
  3. How easy is it to hire for this stack?
  4. Which parts can we use managed services for?
  5. What are the security and compliance requirements?
  6. What will it cost to run and maintain?

Keep options open

  • Use a clean, modular architecture
  • Keep business logic separate from frameworks where practical
  • Document decisions and why they were made
  • Avoid deep lock-in to a single vendor for core data

Example decisions for three products

ProductLikely stackWhy
B2B SaaS dashboardNext.js, TypeScript, PostgreSQL, managed auth, StripeFast development, one language, strong ecosystem
Booking app for iPhone and AndroidReact Native with Expo, a Node.js or Supabase backendOne codebase for both stores, shared logic with web
Content-heavy marketing siteNext.js with a headless CMS, deployed to an edge platformSpeed, SEO and easy editing

These are starting points, not rules. The team's experience and the product's specific needs can point elsewhere.

Total cost of ownership checklist

  • Development time to build the first version
  • Hosting and infrastructure at current and expected scale
  • Licences and third-party service fees
  • Ongoing maintenance and security updates
  • Hiring and onboarding costs for the stack
  • Monitoring, backups and support
  • Cost of switching away later, if needed

Comparing stacks on total cost of ownership, rather than build cost alone, often changes the decision.

How we help

We usually build with Next.js, TypeScript and PostgreSQL for web products and React Native with Expo for mobile, and adapt when a project needs something different. Our SaaS MVP and custom web application services start with this decision, and our vendor and platform selection consulting provides an independent view.

The short version

Choose a stack your team knows, with a mature ecosystem and an easy hiring market, that fits the product's needs. Use managed services for commodity features, avoid fashionable or niche choices, keep the architecture modular and plan for maintenance from day one.