How it compares
Where it wins, and where it loses.
A comparison that only lists wins is an advert. These are the real trade-offs, including the ones that should send you elsewhere.
01 — vs create-t3-app
Same instincts, different boundary
Both are type-safe to the edges and allergic to magic. They disagree about where authorization lives, and about which framework you write.
| GStack | create-t3-app | Edge | |
|---|---|---|---|
| Where authorization lives | Postgres Row Level Security. The database filters before the app sees rows. | Application code — tRPC procedures and middleware you write and must keep writing. | GStack |
| Framework | Nuxt 4 and Vue. | Next.js and React. | Even |
| Type safety | Generated from the Postgres schema. No ORM. | Prisma or Drizzle plus tRPC, inferred end to end. | Even |
| Multi-tenancy | Built in, with a test that fails if it regresses. | Not included — you design it. | GStack |
| Ecosystem and answers | One repository, one maintainer. | Enormous. Almost any question you have is already answered somewhere. | They lead |
02 — vs commercial Nuxt kits
What you pay for, and what you do not
Paid kits buy breadth and someone else on the hook. This buys depth in the parts that are painful to retrofit.
| GStack | Commercial Nuxt kits | Edge | |
|---|---|---|---|
| Auth, i18n, testing | Included, with the tests actually wired into CI. | Included. | Even |
| Multi-tenancy | RLS-enforced and proven by an end-to-end test. | Usually single-tenant, or tenancy scoped in app code. | GStack |
| Accessibility | axe over every page in both themes, on a schedule. | Rarely tested, almost never in CI. | GStack |
| Observability and release automation | Sentry, log forwarding, web vitals, release-please — all flag-gated. | Varies; often left as an exercise. | GStack |
| Prebuilt UI surface | One reference CRUD feature and the shell around it. | Dozens of prebuilt screens, blocks and marketing templates. | They lead |
| Support | GitHub issues, best effort. | You are paying someone, and can expect a reply. | They lead |
Billing used to be the obvious gap here and no longer is — Polar checkout, the customer portal and webhooks all ship behind NUXT_PUBLIC_BILLING_ENABLED.
03 — The honest part
Reasons to pick something else
Written down because a starter you adopt for the wrong reason costs far more than the evening you saved choosing it.
You are not building multi-tenant SaaS
The tenancy model is the spine of this thing — every table, every policy, the signup trigger. For a single-tenant app it is weight you would spend the first week removing.
You want React
This is Nuxt and Vue on purpose, and it is not framework-agnostic. Nothing here ports cleanly.
You want someone to call
It is MIT, maintained by one person, and young. A commercial kit with a support contract is a legitimate answer to that.
You need passkeys today
WebAuthn is deferred — it needs real authenticator hardware to test honestly, and an untested auth path is worse than an absent one.
Still the right fit?
The stack page lists every subsystem and what each one costs to turn on.