Web Dev Tools

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 communitycreate-t3-app is 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.

On this page