What is a Tech Stack?
A tech stack is the entire layered set of languages, frameworks, databases, infrastructure, and vendored services that together make a software product work — from the browser tab the user clicked to the cloud region the bytes ultimately live in.
Where the phrase came from
The word "stack" comes from the way software historically slotted on top of itself — a database on the bottom, an application server on top of it, a web server on top of that, a browser at the very top. Early-2000s shorthand like LAMP (Linux, Apache, MySQL, PHP) and the .NET stack (Windows, IIS, SQL Server, ASP) packaged those choices into a single noun a hiring manager could put in a job ad. The word stuck even though modern products rarely look like a clean four-layer tower anymore — they look more like a constellation of services that talk to each other over the network.
What is actually inside one
A real-world stack today has at least six layers and usually nine or ten. The frontend layer — the framework the browser runs — is typically React with Next.js, Vue with Nuxt, or Svelte with SvelteKit. The backend is a Node, Python, Go, or Ruby runtime exposing an API. The data layer is almost always Postgres or MySQL, with a key-value store like Redis bolted on for caching. The infrastructure layer is a cloud provider — AWS, GCP, Azure, or a platform like Vercel or Fly.
On top of that core sit the vendored capabilities almost nobody builds in-house anymore: authentication (Auth0, Clerk, or a roll-your-own with OAuth 2), billing (Stripe), transactional email (Resend, Postmark, SendGrid), error monitoring (Sentry), and analytics. The "stack" is the union of all of it. Founders who only list React and Postgres on their architecture diagram are usually missing the six other vendors that will appear on their AWS bill within a year.
Why the choice compounds
Every stack decision becomes harder to reverse over time. The first time someone writes a Postgres-specific query, your "database-agnostic" plan is half dead. The first time a TypeScript type bleeds across the frontend-backend boundary, you have committed to TypeScript on both sides for the foreseeable future. By the time you have ten engineers shipping daily, switching a major layer means six months of work nobody is paid to enjoy. The right time to make stack decisions deliberately is at the very start — and to bias toward boring, well-supported choices that thousands of people have already used to solve your problem.
Hiring market beats benchmarks
The single most under-appreciated factor in stack choice is how many engineers near you can actually use it. Elixir is a beautiful language. There are maybe four senior Elixir engineers in your city. Rust is fast. The talent pool that can ship Rust web services is small. JavaScript, TypeScript, Python, Go, and Ruby cover roughly nine out of ten production codebases globally and have a deep enough hiring market that you can almost always find someone. Save the exotic stack for the one component that genuinely benefits from it.
At QUANT LAB
Our default stack for custom business software is Next.js and TypeScript on the frontend, a Node or Python backend, Postgres with row-level security for the database, Stripe for billing, and Vercel or AWS for hosting. We deviate when the workload genuinely demands it — heavy machine learning workloads push us toward Python and managed GPU infrastructure, real-time products like trading systems pull us into Go or Rust where latency matters in microseconds.
The first thing we do on a new engagement is a one-day stack review — what we would pick, why, and which vendored services we recommend so you do not have to make twenty separate buy decisions in your first quarter. Read our Next.js vs Remix vs SvelteKit comparison for the reasoning behind one of those defaults, or our 2026 state of custom software piece for the broader picture.
Long-form deep-dives that use this term
All postsBuilding Multi-Tenant SaaS on Postgres RLS
Row-level security patterns for isolating tenant data without separate databases.
Read postInternal Tools Platform Engineering Guide
Architectural patterns for ops dashboards, admin panels, and back-office UIs.
Read postNext.js + Stripe: The Complete Integration Guide
Server Actions, the Payment Element, webhook idempotency, and subscriptions.
Read post
Related terms
Picking your stack? Talk to an engineer first
Thirty minutes is enough to map your product to a sensible stack — and to flag the three vendor decisions you will regret if you defer them.