The multi-tenant backend for indie developers

Build for one. Pluralize for thousands.

Auth, data, files and billing — wired up in minutes. Ship your single-player idea, then multiply it into a product the moment users show up.

Three lines to multi-tenant

Drop the SDK into the app you already have. Every authenticated user becomes a tenant automatically — their data is isolated at the database row level and their plan limits are enforced at the API edge.

No rewrite. No new framework. Just an SDK call.

import { Pluralize } from '@pluralize/sdk';

const app = Pluralize.init({
  appId: 'app_xxx',
  apiKey: 'pk_live_xxx',
});

await app.auth.signup('user@example.com', 'correct horse battery staple');
await app.db.collection('recipes').insert({ title: 'Ramen', minutes: 20 });

Everything the boring part needs

The four things every SaaS rebuilds from scratch. Use them together or à la carte.

Authentication
Email + password signup, refresh tokens, cross-tab session sync. Each user is a tenant; no extra wiring needed.
Data
Schemaless collections with filters, sort, pagination, unique fields and share-link tokens for public views.
Files
Per-tenant uploads to Vercel Blob with MIME guardrails, signed URLs and size caps tied to plan entitlements.
Billing
Stripe checkout and customer portal from two SDK calls. Plan features and limits travel with the tenant.

Ready to ship the multiplayer version?

Create a free workspace, grab your keys, and you're one SDK call away from your first paying tenant.