What You'll Learn
- Why most tech stack debates are wasted time
- The only factors that actually matter
- Specific recommendations for different project types
- How to evaluate "boring" vs "exciting" technology
The Truth About Tech Stacks
Here's an uncomfortable truth: your tech stack probably doesn't matter as much as you think.
Twitter was built on Ruby on Rails. Facebook started with PHP. Google runs on C++, Java, Python, and Go. Netflix uses a mix of everything.
The common thread? They all work. The companies succeeded because of execution, not technology choices.
The Real Rule
Pick something reasonable and execute well. A mediocre app built with "perfect" technology will lose to a great app built with "imperfect" technology every time.
That said, there are factors that genuinely matter. Let's talk about those.
The Only Factors That Actually Matter
1. Team Expertise
This is #1 for a reason. Your team's existing skills trump almost everything else.
- • Have Python developers? Use Python.
- • Team knows JavaScript? Node.js is fine.
- • Everyone writes Ruby? Rails is great.
Learning a new stack adds 2-3 months to any project. Is that trade-off worth it?
2. Hiring Pool
Will you need to hire for this project? Check the local job market.
- • JavaScript/TypeScript: Largest pool, easiest to hire
- • Python: Very large pool, especially for data/ML
- • Go/Rust: Smaller pool, but often higher quality
- • Elixir/Clojure: Tiny pool, expensive, but dedicated
3. Problem Fit
Some technologies genuinely solve certain problems better:
- • Real-time apps: Elixir/Phoenix, Node.js
- • Data processing: Python, Scala
- • High performance: Go, Rust, C++
- • Rapid prototyping: Ruby, Python, JavaScript
- • Mobile apps: Swift/Kotlin native, React Native, Flutter
4. Ecosystem & Libraries
What integrations do you need? Check if libraries exist.
- • Payment processing: All major languages covered
- • ML/AI: Python dominates (TensorFlow, PyTorch)
- • Enterprise integrations: Java/.NET often have better SDKs
Recommended Stacks by Project Type
Here are our go-to recommendations based on 17+ years of shipping software:
Web Applications (Most Projects)
React or Vue.js + TypeScript
Node.js (Express/Fastify) or Python (FastAPI)
PostgreSQL
Vercel, Railway, or AWS
Startups / MVPs
Next.js or Remix (React + API)
Ruby on Rails (still excellent)
PostgreSQL (via Supabase or PlanetScale)
Clerk, Auth0, or Supabase Auth
Enterprise / High Scale
Go, Java (Spring Boot), or .NET
React + TypeScript
PostgreSQL + Redis
Kubernetes on AWS/GCP
Data-Heavy / AI Applications
Python (FastAPI + PyTorch/TensorFlow)
Apache Airflow or Prefect
PostgreSQL + vector DB (Pinecone, pgvector)
AWS SageMaker or Modal
Database Selection
Default choice: PostgreSQL. It handles 95% of use cases excellently.
| Database | Use When | Avoid When |
|---|---|---|
| PostgreSQL | Almost always. Default choice. | Extreme write-heavy or document-only |
| MongoDB | Truly unstructured data, rapid prototyping | Need transactions, complex queries |
| Redis | Caching, sessions, real-time leaderboards | Primary data store (use as complement) |
| SQLite | Mobile apps, edge computing, prototypes | High concurrency, distributed systems |
Hosting & Infrastructure
Vercel / Netlify
Best for: Frontend, Jamstack, Next.js
Railway / Render
Best for: Full-stack apps, databases included
AWS / GCP / Azure
Best for: Enterprise, complex requirements, scale
Hetzner / DigitalOcean
Best for: Cost-conscious, VPS-style control
Don't Overthink It
The "Boring Technology" Principle
Choose technologies that have been around for 5+ years and are considered "boring." They're boring because they work.
- • PostgreSQL has been battle-tested for 30+ years
- • React has been in production for 10+ years
- • Python and JavaScript aren't going anywhere
When to Use "Exciting" Technology
- • It solves a problem boring tech genuinely can't
- • Your team already knows it well
- • You can afford the risk if it doesn't work out
- • Hiring for it is realistic in your market