How to Choose a Tech Stack
Stop choosing technologies based on hype. Start choosing based on constraints. A systematic framework for making technology decisions.
Quick Verdict
Choose based on your profile — there's no universal "best" stack.
Limited time & budget
Solo Founder
Prioritize DX and speed. Use BaaS + meta-framework. Skip premature optimization.
SvelteKit + Supabase + Vercel3-10 engineers, growing
Startup Team
Balance DX with team conventions. Pick mainstream technologies for hiring.
Next.js + PostgreSQL + AWSCompliance & long-term support
Enterprise
Choose boring, supported technologies. Enterprise support matters.
React + Oracle/PostgreSQL + AzureDefine Your Constraints
Start with what limits you, not what excites you. Constraints are your filter.
Team Constraints
What languages does your team know? How many engineers will work on this? A solo founder choosing Rust for a CRUD app is optimizing for the wrong thing.
Questions to Ask
- What is your team's strongest language?
- How many engineers will maintain this in 2 years?
- Can you hire for this stack in your market?
Identify Requirements
Different stages have different needs. Match your requirements to your reality.
Evaluate Categories
Choose categories first, then technologies. Not all categories are critical for every project.
Score on 6 Dimensions
Move beyond gut feeling. Evaluate every technology on these dimensions.
Developer Experience
High for MVPsHow fast can you ship? Quality of docs, error messages, tooling.
Key Factors:
- Documentation quality
- Error messages
- IDE support
- Build times
Apply Context Adjustments
Weights change based on who you are and what you're building.
Solo founder
Enterprise team
Regulated industry
AI/ML product
Real-time app
Build Layer by Layer
Start from the foundation and work up. Each layer constrains the next.
Database Layer
Decision: SQL vs NoSQL vs BaaS
PostgreSQL unless you have a specific reason not to
Backend Layer
Decision: Full-stack vs API-only vs BaaS
Meta-framework (Next.js, SvelteKit) for most cases
Auth Layer
Decision: Build vs Buy
Buy. Always buy. Use Clerk, Auth0, or Supabase Auth
Hosting Layer
Decision: Edge vs Regional vs Self-hosted
Vercel/Cloudflare for global, single region for compliance
Frontend Layer
Decision: Framework choice
React for ecosystem, Svelte for DX, Vue for gradual adoption
Decision Flowchart
Use this interactive flowchart to guide your decisions.
Common Mistakes
Frequently Asked Questions
Should I use the latest framework?
Generally no. Proven frameworks with large communities offer better DX, more packages, and easier hiring. New frameworks often have immature ecosystems, breaking changes, and fewer learning resources.
When should I use a BaaS like Supabase?
When you want to ship fast and your requirements are standard. BaaS is ideal for MVPs, indie hackers, and small teams. Consider custom backend when you need complex business logic, specific compliance requirements, or anticipate heavy customization.
How do I handle future scale?
Don't. Design for 10x your current needs, not 1000x. Premature optimization wastes time and adds complexity. Most startups fail from not shipping, not from scale problems.
Should I use TypeScript?
Yes. The productivity benefits (autocomplete, refactoring, error prevention) outweigh the learning curve. Every major framework supports TypeScript.
How important is DX vs Performance?
It depends on context. For MVPs and most B2B apps: prioritize DX. For consumer apps with millions of users: performance matters more. The best technologies score well on both.
Get Your Stack Scored
Use StacksFinder to analyze your project and get personalized technology recommendations.