Choose a tech stack by answering five questions in order: what can you hire for in your market, what does the workload genuinely require, what is your team already fluent in, what does compliance force, and how expensive is it to leave. Our default for a new product in 2026 is TypeScript, Postgres, and one managed cloud.
The five questions, in order
- 1. Hiring market — How many senior engineers in this stack are reachable in your metro or time zone within 60 days? This constraint outranks every technical preference, because a stack you cannot staff is a stack you cannot maintain.
- 2. Workload constraint — Does anything in the system have a hard requirement — sub-10ms latency, GPU inference, strict transactional integrity, offline mobile sync? Hard constraints eliminate options. Absent one, most mainstream stacks are equivalent.
- 3. Team fluency — What can your current team debug at 2am? A stack that is 20% better on paper and unfamiliar in practice is a net loss for at least two quarters.
- 4. Compliance and hosting — SOC 2, HIPAA, FedRAMP, and data-residency rules constrain where you deploy and which managed services you may use. Decide this before architecture, not after the audit.
- 5. Exit cost — How much would it cost to leave this vendor or framework in three years? Managed Postgres is cheap to leave. A proprietary workflow engine with your business logic inside it is not.
Our default stack, and why
For a new product with no hard constraint: TypeScript end to end, Postgres as the primary datastore, one managed cloud (AWS, Azure, or GCP — pick the one your buyer already has a contract with), Terraform for infrastructure, and GitHub Actions for CI.
The reasoning is boring on purpose. One language means engineers move between frontend and backend without context switching. Postgres does relational, JSON, full-text, and vector search well enough to postpone every other datastore. A single cloud keeps the operational surface small enough for a team of eight.
If AI is core to the product, add exactly one Python service for the model layer and keep everything else in TypeScript.
Where teams overspend
Kubernetes before you need it. Under roughly twenty services or forty engineers, managed containers cost far less in operational time and hire far more easily.
Microservices at the start. Modular monolith first, split when a specific team boundary or scaling constraint forces it — not because the architecture diagram looks better with boxes.
Four datastores in year one. Postgres plus one cache handles more than most teams believe. Every additional datastore adds a backup story, an access-control story, and a person who has to understand it.
Getting a second opinion before you commit
Stack decisions are cheap to make and expensive to reverse, which is exactly the shape of decision worth an outside review. We run paid two-week architecture reviews that end with a written recommendation, a risk register, and a hiring-market assessment for the recommended stack — usually a rounding error against the cost of finding out in month nine.
What changed, and when
- Refreshed default stack recommendation and added the AI-layer decision.
- Added compliance section covering SOC 2 and HIPAA constraints on hosting choice.
- First published.
Common questions
Should we choose a stack based on performance benchmarks?
Almost never. For the overwhelming majority of business software the bottleneck is the database query, the network, or a third-party API. Benchmark differences between mainstream frameworks disappear behind those. Choose for hiring and maintainability instead.
Is it bad to pick a stack because our CTO knows it?
No, that's question three and it's legitimate — provided the market can also staff it. Team fluency is a real asset. It becomes a problem only when the CTO's preferred stack has a thin senior hiring pool in your region.
How much does switching stacks later cost?
For an application layer, typically 1.5-3x the original build. For infrastructure and datastores, less if you avoided proprietary features. This asymmetry is why we push hard on keeping business logic in portable code and vendor-specific behavior at the edges.
Should we use a serverless architecture?
For spiky, event-driven, or low-baseline workloads, yes — it's genuinely cheaper and simpler. For steady traffic with long-running requests, a container platform usually costs less and debugs more easily. Most systems end up mixed.
Can you review a stack decision we've already made?
Yes. That's a two-week architecture review: we interview the team, read the code, assess the hiring market, and hand back a written recommendation. Cheaper than discovering the problem after two quarters of build.
Have a specific situation? Talk to an engineer at NextGen — we do free 30-minute scoping calls with a senior developer, not a salesperson.

