T3 Stack
Next.js + tRPC + Drizzle/Prisma + Tailwind + auth — an opinionated typesafe variant.
The T3 stack (created around create-t3-app) is a specific opinionated bundle on top of Next.js. It's not a different framework — it's a set of defaults.
Components
- Next.js (App Router or Pages — both supported)
- tRPC for typesafe RPC between client and server (or moving to oRPC more recently)
- Drizzle or Prisma for the DB layer
- Tailwind CSS for styling
- NextAuth.js / Auth.js historically; many T3-style apps now use Clerk or Better Auth
- Zod for validation throughout
- Optional: TanStack Query (tRPC integrates), shadcn/ui, Vercel for deploy
What it's good at
- End-to-end type safety — call a tRPC procedure from the client and the response type just appears.
- Strong defaults — the hardest part of greenfield Next.js projects (auth, DB, validation glue) is decided for you.
- Active community —
create-t3-appis one of the most-starred starters; lots of cookbooks and tutorials.
What you give up
- The tRPC abstraction can fight Server Components on the App Router; many teams migrate to Server Actions + Zod schemas for mutations and keep tRPC for read APIs only, or move to oRPC which is OpenAPI-compatible.
- Coupling client and server types tightly works great solo, less great when a separate team owns the API or when the API is consumed by mobile.
When to pick T3 over plain Next.js
- You're solo or a small team and want every default decided.
- Your app is mostly your own client + your own server (no third-party API consumers).
- You want to hire the median React/Next.js dev and have them ramp fast.
When to skip T3
- You're already comfortable making the auth/ORM/validation choices yourself.
- You need an API your mobile team or partners will consume — you'll want OpenAPI / oRPC / GraphQL.
- You want to use the App Router heavily — Server Actions overlap with what tRPC mutations did.