TurboHamscalerOpen the demo

TurboRepo starter · grows on you

TurboHamscaler: The boring half of a multi-tenant app, already done.

TurboHamscaler gives you accounts, organisations, roles and per-tenant data — with the isolation checks that keep them honest. It scales the way TurboHam does — same hamster, considerably larger. Clone it and start on the part that is actually yours.

Demo sign-in: turboham@example.com · hamster-wheel-9000

TurboHam evolving: the pixel hamster in teal headphones flashes white and grows, twice, ending as a broad-shouldered ogre with a heavy brow and a smirk

What you get

Accounts that revoke

Sessions are rows, not tokens. Signing out everywhere really does end every session on every device — no waiting for a token to expire.

Organisations and roles

Members, admins and owners, with per-organisation data. Everyone starts in an organisation of their own and joins others by invitation.

Tenant isolation, proven

Every tenant query lives in one file and takes the organisation first. A suite written from the attacker’s side proves the rows stay apart.

Migrations that refuse to drift

Applied in order and hashed, so editing one that has already run is an error rather than a database that quietly differs from everyone else’s.

Runs on a diet of nothing

No account, no container, no native build. Install, seed, and you have a working app with two organisations to poke at. Cheaper to run than the hamster.

A pipeline that squeaks when it should

Lint, types, tenancy guards, unit and API tests, bundle and image budgets, the API suite against three databases, and the browser suite twice — dev server and built output.

Start in three commands

npm install
npm run db:seed
npm run dev

Two organisations are seeded on purpose. Sign in as TurboHam and the other one’s projects, members and audit log are simply not there — separate burrows, no connecting tunnel, no filter to remember and no flag to forget.