The Stack
Common technology stacks explained — LAMP, MERN, JAMstack, T3, and more.
What is a Stack?
A "technology stack" is a curated set of tools that work together to build an application. Each layer handles a specific part: the database, back-end logic, front-end UI, and infrastructure. Well-chosen stacks use technologies that integrate smoothly and have mature ecosystems. Bad stacks combine tools that fight each other.
Classic Stacks
LAMP
Linux + Apache + MySQL + PHP
The classic, still powers most of the web. Cheap hosting, easy to deploy, mature. Limited by PHP's older design patterns.
Best for: WordPress sites, PHP developers, cheap hosting
MEAN / MERN
MongoDB + Express + Angular/React + Node.js
All JavaScript. One language end-to-end. Great for teams that know JavaScript, but JavaScript everywhere has trade-offs (speed, ecosystem fragmentation).
Best for: JavaScript-first teams, single-page applications
JAMstack
JavaScript + APIs + Markup
Not specific technologies, but a philosophy: pre-render static HTML, use JavaScript for interactivity, connect to APIs for dynamic data. Scalable, fast, serverless-friendly.
Best for: Content sites, blogs, marketing sites, performance-first applications
T3 Stack
Next.js + TypeScript + tRPC + Prisma + Tailwind CSS
Modern, end-to-end type safety. tRPC provides type-safe API calls without manually writing API routes. Fast to build, joy to develop.
Best for: Startups, type-safe development, full-stack JavaScript
Ruby on Rails
Rails + Ruby + PostgreSQL + HTML/CSS/JS
Convention-driven. Fast to prototype. Built-in patterns for scaffolding, migrations, and testing. Smaller job market than before.
Best for: Rapid prototyping, MVPs, teams with Rails expertise
Django / Python
Django + Python + PostgreSQL + React/Vue
Python's stability with Django's batteries-included framework. Excellent for data-driven applications. Great ecosystem for data science and ML.
Best for: Data-driven apps, ML integration, startups
Laravel / PHP
Laravel + PHP + MySQL + Vue/Alpine
Modern PHP. Laravel made PHP fun again. Great for server-side rendering. Excellent tooling (Sail, Breeze, Jetstream).
Best for: Full-stack PHP developers, rapid web development
The Most Expensive Stack Decision: Hard-to-Hire-For Tech
Choosing an obscure language feels edgy but creates hiring nightmares. If your startup picks Elixir or Clojure, you'll struggle to hire. Paying premium salaries to find one engineer costs way more than the performance benefits of a "perfect" language.
Principle: Choose a stack where you can hire competent people. A slower language with a big hiring pool beats a faster language with three developers worldwide.
Future-Proofing Your Stack
- 1. Hiring: Can you hire? Is there a job market?
- 2. Community: Is it growing, stable, or declining?
- 3. Updates: Is the technology actively maintained?
- 4. Ecosystem: Are libraries and tools mature?
- 5. Flexibility: Can you change parts of the stack without rewriting everything?
Stack Comparison
| Stack | Best For | Hiring | Learning Curve | Time to Market |
|---|---|---|---|---|
| LAMP | WordPress, traditional web | Easy | Low | Fast |
| MERN | Modern web apps | Good | Medium | Medium |
| JAMstack | Static-heavy sites | N/A | Variable | Very fast |
| T3 | Full-stack JS apps | Very good | Medium | Fast |
| Rails | Rapid prototypes | Fair | Medium | Very fast |
| Django | Data-driven apps | Good | Medium | Fast |
| Laravel | Full-stack PHP | Good | Medium | Fast |