Short version: T3 Stack is free and excellent for greenfield projects, learning, and teams that want tRPC's end-to-end type safety. Already is better for commercial SaaS — it ships 16 production modules that T3 explicitly leaves out, so you skip the 6-week infrastructure build and start on your product from day one. The $199 pays for itself before you finish wiring Stripe.
Feature matrix
| Feature | T3 Stack | Already |
|---|---|---|
| Framework & Language | ||
| Next.js 15 App Router | ✓ | ✓ |
| TypeScript (strict) | ✓ | ✓ |
| Tailwind CSS | ✓ | ✓ |
| shadcn/ui components | — | ✓ |
| tRPC end-to-end type safety | ✓ | — |
| Drizzle ORM | ~choice | ✓ |
| Prisma ORM | ~choice | — |
| Authentication | ||
| Auth configuration (Auth.js / Supabase) | ✓ | ✓ |
| Pre-built auth UI (sign-in / sign-up screens) | — | ✓ |
| Email + password | ~config | ✓ |
| Google / GitHub OAuth | ~config | ✓ |
| Magic link (passwordless) | — | ✓ |
| TOTP 2FA (authenticator app) | — | ✓ |
| Passkeys (WebAuthn) | — | ✓ |
| Email enumeration protection | — | ✓ |
| Auth event audit log | — | ✓ |
| Billing & Payments | ||
| Stripe integration | — | ✓ |
| Idempotent webhook handler | — | ✓ |
| Dead-letter queue for failed webhooks | — | ✓ |
| Plan-based feature gating | — | ✓ |
| Customer billing portal | — | ✓ |
| Trial + grace period | — | ✓ |
| Billing notifications / dunning | — | ✓ |
| Multi-tenancy & Orgs | ||
| Organisation / workspace model | — | ✓ |
| Role-based access control (RBAC) | — | ✓ |
| Member invitations | — | ✓ |
| Row-level security (Postgres RLS) | — | ✓ |
| Query-layer tenant scoping | — | ✓ |
| Admin dashboard with impersonation | — | ✓ |
| Messaging | ||
| Transactional email (Resend + React Email) | — | ✓ |
| In-app notifications (Supabase Realtime) | — | ✓ |
| Background Work | ||
| Cron-based background jobs | — | ✓ |
| Postgres-backed job queue | — | ✓ |
| API key management (hashed at rest) | — | ✓ |
| Security & Hardening | ||
| CSP nonces | — | ✓ |
| Rate limiting | — | ✓ |
| Bot / scraper detection | — | ✓ |
| Suspicious activity detection | — | ✓ |
| GDPR export + deletion endpoints | — | ✓ |
| AI & Developer Experience | ||
| Multi-provider AI (Anthropic / OpenAI / Google) | — | ✓ |
| AI credits ledger | — | ✓ |
| Feature flags (PostHog) | — | ✓ |
| AI-native context (CLAUDE.md / Cursor rules) | — | ✓ |
| Storybook component library | — | ✓ |
| i18n (next-intl, 3 locales) | — | ✓ |
| Rewardful affiliate integration | — | ✓ |
| Error monitoring (Sentry) | — | ✓ |
| Cost | ||
| Price | Free | $199 / $399 one-time |
| Open source | ✓ | — |
✓ Included · — Not included · Config-only means you write the config but build the UI yourself.
Auth
T3 Stack
Wires Auth.js v5 (the stable rename of NextAuth.js) with your database adapter. No sign-in page, no sign-up flow — you design and build the screens. Many teams swap this out for Clerk to get pre-built UI, accepting per-user pricing. TOTP and passkeys require third-party libraries or significant custom work.
Already complete
Ships Supabase Auth with pre-built screens for every flow: email + password, magic link, OAuth (Google, GitHub), TOTP, and passkeys. Auth event log tracks every login by device and IP. Email enumeration protection and rate limiting on auth endpoints are on by default.
Billing
T3 Stack
Ships nothing. The unofficial estimate is 3–5 days to wire Stripe well — and that's if you've done it before. Common problems: non-idempotent webhook handlers (duplicate orders on retry), no dead-letter queue (silent dropped events), no customer portal link. Most developers have done this 5 times and still get it wrong.
Already complete
Full Stripe integration with idempotent webhook handling and a dead-letter queue for failed events. Plan-based feature gating, customer portal, trial periods with grace periods, and billing email notifications — all wired. Run pnpm setup:stripe and it's live.
Multi-tenancy
T3 Stack
Ships nothing. If you're building B2B SaaS with workspaces or organisations, you're looking at a multi-sprint effort: data model design, Postgres RLS policies, query-layer scoping to prevent cross-tenant data leaks, invitation flows, RBAC — before you've written a single line of product code.
Already complete
Full multi-tenant org model with Postgres RLS and query-layer scoping. Member invitations with role assignment, RBAC across all routes, and an admin dashboard with user impersonation. Tested for cross-tenant data isolation. Standard B2B SaaS infrastructure, shipped.
ORM and data layer
T3 Stack
You choose Prisma or Drizzle at scaffold time. Prisma was the default and remains popular, but Drizzle is increasingly preferred for serverless — smaller bundle, better Edge Runtime support, faster cold starts on Vercel. Drizzle is now a first-class option in create-t3-app.
Already Drizzle
Ships Drizzle ORM with relational queries, Supabase Postgres, and connection pooling via Supabase pooler. Type-safe relational queries out of the box. Migration tooling, seed scripts, and a full schema for all 16 modules — ready to extend, not to build from scratch.
tRPC — the one thing T3 has that Already doesn't
T3's signature feature is tRPC: fully type-safe API procedures with end-to-end inference between your server and client. If you've used it, you know it's excellent. Already doesn't include tRPC — it uses Next.js Server Actions and Route Handlers directly.
For most commercial SaaS, the difference is minor. Server Actions give you the same type safety for mutations without a separate RPC layer, and route handlers cover external integrations. If tRPC is a firm requirement, T3 is the right call. If you need billing or multi-tenancy before your MVP, Already is.
Who should use what
Use T3 Stack when
- You're learning TypeScript patterns or want to understand the stack
- tRPC's end-to-end type safety is a hard requirement
- Budget is $0 and timeline is flexible
- You need Prisma specifically
- It's a side project with no billing or org model
- You want maximum control over every layer
Use Already when
- You're building commercial SaaS and need billing from day one
- Your product is B2B with workspaces or organisations
- You've built auth + billing before and want to skip it
- You're using AI coding assistants and want AI-native DX
- You want 16 modules tested and wired — not assembled
- Time to first feature matters more than architectural purity
The honest comparison
T3 Stack is one of the best scaffolds in the Next.js ecosystem. The tRPC integration is genuinely superior to most alternatives for type-safe APIs, the community is large, and the codebase is clean. If you need tRPC or prefer to build every layer yourself, T3 is the right choice.
Already is not a better version of T3. It's a different product for a different phase: you know what needs to be built for commercial SaaS, you've done it before, and you want it done so you can build your product instead. The $199 Solo licence pays for itself before you finish the Stripe webhook handler.