Comparison
Hype Stack vs TurboStarter
Two kits made the same bet: one repository, three platforms. The difference is whether features arrive as a clone you prune or as packs you compose, and whose tooling sits under the developer experience.
TurboStarter is the kit this page respects most, because it made the multi-platform argument before we did. Bart Zagrodzki ships a Next.js web app, an Expo mobile app, and a WXT browser extension from one Turborepo, on a Hono API with Drizzle and Postgres, and he ships his own apps on it. Auth runs on Better Auth. Billing covers Stripe, Lemon Squeezy, Polar, Dodo Payments, RevenueCat, and Superwall, which matters once mobile subscriptions enter the picture. Organizations, i18n, emails, an admin panel, analytics, a CMS, storage, and an AI kit are in the box. It is a lot of software for a lifetime licence.
If you are searching for a turbostarter alternative, the useful comparison is not "which one has more features". It is what each kit assumes about how you will work in it for the next two years. TurboStarter assumes you will clone everything and remove what you do not need. Hype Stack assumes you will start from an empty MIT template and ask a CLI for features one at a time.
What both ship
Start with the overlap, because it is large and it narrows the shortlist to these two for anyone who needs mobile and an extension from the same repository.
Surfaces from one repository
- Web app: shipsNext.js
- Admin: partialin-app panel
- Mobile: shipsExpo
- Desktop: not offered
- Extension: shipsWXT
- Web app: shipsTanStack
- Admin: shipsseparate app
- Mobile: shipsExpo
- Desktop: shipsElectron
- Extension: ships3 stores
TurboStarter from its product page, which lists web, mobile, and extension targets and an admin panel inside the web app. Hype Stack from the template repository: frontend, backend, admin, mobile, and extension apps, plus the Electron shell in the native app shell layout.
Both use Hono for the API, both use Better Auth, both run on Postgres. Both leave you owning the source with no runtime dependency on the vendor. The five tiles that match are the reason the rest of this page can be about delivery and tooling rather than about who has a mobile app.
Where they differ
The price row goes to TurboStarter for a single developer who buys once and never wants another feature. It goes the other way for a team that installs three packs in month one, stops paying, and keeps the code, or for anyone who starts on the free template and finds the five free packs cover the product. Neither reading is wrong. Do the sum for the product you are actually building.
Compose, in practice
"Compose instead of clone" is easy to say and worth showing. Three things change when features are written in on request rather than removed after the fact.
What compose changes
The tree holds only what you chose
A kit with six billing providers has six billing providers in the repository until you delete five. A pack has one, and the other two exist only in the catalog. The same applies to the CMS, the analytics, and the AI kit you were never going to use: they are not dead code you own, they are code you never received.
- stack.json
- pack-billing-stripe
- pack-billing-polar
- pack-billing-lemonsqueezy
Month six is the same command as day one
Adding notifications later is not a merge against a kit that has moved on. It is the same compose command, which copies the pack's frontend, backend, admin, and mobile files, merges its Prisma models, and runs the codemods that wire routes and navigation. The pack you install in month six has been through the same review and tests as the one you installed on day one.
- npx @hype-stack/cli compose
- prisma schema merge
- route codemods
An empty template can be free
Because features are separable, the template itself carries no paid code and ships under MIT with a working web app, backend, admin, mobile app, and extension. Five packs are free on top of it. A kit that is one bundle has to price the bundle.
- MIT
- starter-auth-betterauth
- pack-teams
- pack-projects
- layout-basic
The cost of that model is honest to name. Composing needs a CLI, a registry, and codemods that touch your routes and navigation, which is machinery TurboStarter does not need. When a codemod meets a file you have heavily edited, you read a diff. A cloned kit has no such step, because there is nothing to compose.
What sits under the DX
Both kits are TypeScript monorepos. The layers below are Hype Stack's, with the parts that come from BetterTyped marked, since that is the honest way to say "we control the request layer and the tooling" without pretending the rest is ours too.
The Hype Stack stack, top to bottom
Five clients against one API, all typed from the same route definitions.
HyperFetch types every Hono route into each client. A new endpoint is typed everywhere on the next save.
A standalone Hono service. Central error middleware, typed validators, websockets, and an in-process scheduler.
Rust-based lint, format, and bundling, plus the native TypeScript compiler, so an agent's feedback loop runs in seconds.
From the template repository and the AI overview docs. HyperFetch is maintained by BetterTyped, the team behind Hype Stack; oxc, Rolldown, and tsgo are third-party projects we build on, not ours.
TurboStarter's equivalent stack is Next.js, Drizzle, Turborepo, and Cloudflare, which is a perfectly good set of choices with a larger hiring pool behind the web framework. The difference that shows up daily is lint and typecheck speed, and the difference that shows up quarterly is whether your request layer is a kit-internal client or a published library with its own release cycle and docs.
Which one fits you
Do you want to prune a full kit, or compose an empty one?
Pick it for Next.js on the web and every feature present from the first clone.
- Web, mobile, and extension from one repo, with six billing providers including RevenueCat for app stores
- A lifetime licence at a one-time price, and an author who ships products on the kit
- No compose step: what you see in the clone is the whole product
Pick it for TanStack Router, a free MIT core, and packs written in one at a time.
- Web, admin, mobile, extension, and desktop from one repo, typed end to end through HyperFetch
- Only the packs you chose in the tree, and the same command to add one in month six
- Rust-based tooling that keeps lint and typecheck fast enough for an agent to self-correct
If your answer is Next.js, the first column is right and this page has no argument with it.
Below is the multi-surface stack this page recommends: the Better Auth starter, the native app shell layout that carries the web app into Electron, Stripe billing, and real-time notifications that push to web and mobile alike.
What is Hype Stack?
Every product starts with the same month of work nobody pays you for: sign-up and login, teams and permissions, taking payments, notifications, an admin panel to run the business. Hype Stack is that month, already built and tested. Start from the free open-source app, add the pieces you need with one command, and keep going on the part that is actually your idea.
Everything lands as real code in your own repository, so there is nothing to rent and nothing anyone can switch off. For the engineers: React 19, Hono, Postgres, and a desktop build, typed end to end.
See it running
Templates are curated project starters built on this stack: a layout, feature packs, a custom theme, and bonus pages. The previews below are recordings of the real apps.
Two ways to install features
Same features underneath, different starting point. Either command resolves what the packs depend on, copies the source into your repository, and merges the Prisma schema.
Take a template
A landing page, a design system, a themed layout, and the features already wired into it. Rebrand it, put your product in the middle, ship.
npx @hype-stack/cli template$ hype-stack compose
Compose your own design
Your design and your choices, without rebuilding auth, billing, or notifications. Tick the packs you want and the CLI wires them into the open-source starter.
npx @hype-stack/cli composeInside the stack
What each pack gives you
Source code, not a dependency. Every pack lands in your repository across the surfaces the feature touches.
Authentication, organizations, roles, sessions, and a full admin app, powered by Better Auth on your own Postgres.
- Email & Google login
- Organizations & members
- Roles & permissions
- Admin app & dashboard
Questions, answered
More stacks
Turn your ideas into
Real applications.
Start free and own every line you ship. When you want more, one All-Access license unlocks every premium pack and template for a year.
