Productize the service you sell by the hour.
White-label multi-tenant shell, per-tenant theming, billing, reseller admin. Pro tier monthly subscription.
Who this is for
Agency or consultancy packaging a productized offering — selling services by the hour, wants recurring white-label revenue where each client sees their own branded version of the same underlying software.
The pain today
- Hourly services capped by team headcount, no leverage
- Clients asking for 'their own version' that looks branded
- Sharetribe or WhiteLabel.io too rigid or too expensive
- Multi-tenant complexity intimidating without deep engineering
- Billing suppliers (you) and resellers (agency) in one system
The outcome you get
- Multi-tenant shell with per-tenant theme, logo, domain
- Reseller admin — your agency's view across all client tenants
- Tenant admin — client's view of their own users and data
- Per-tenant billing with Stripe Connect for reseller margins
- White-label docs, email templates, and onboarding per tenant
White-label architecture
White-label SaaS requires three layers. Platform: the agency's overall operating layer — reseller admin, billing rules, tenant provisioning. Tenant: each end-client's isolated workspace — theme, users, data. End-user: individuals inside a tenant using the product. Architecture has to enforce isolation between tenants (agency A's data never leaks to agency B) while giving the platform (your agency) cross-tenant admin visibility. Three common patterns: shared database + row-level tenancy (most common, most scalable), schema-per-tenant (stronger isolation, harder ops), database-per-tenant (strongest isolation, expensive). Row-level tenancy with strong application isolation covers 95% of white-label builds.
Multi-tenancy trade-offs
Tenant isolation is the core engineering challenge. Everywhere data is read, tenant ID must be enforced — middleware that filters every query by current tenant, cross-tenant API endpoints that require platform-level authentication. Missing enforcement = cross-tenant data leak = catastrophic. I design with explicit tenant middleware at framework level so skipping it requires active negligence, not oversight. Testing covers tenant isolation in CI — tests that explicitly try to access other tenants' data and expect rejection. For reseller margins (agency keeps 30%, Stripe sends 70% to end-client), Stripe Connect handles the split — no manual reconciliation.
Theming, domains, and branding
Per-tenant branding covers three layers. Visual theme: colors, fonts, logo, favicon — stored per-tenant, applied via CSS custom properties, editable by tenant admin. Content: email templates, in-app strings, documentation links — editable per-tenant. Domain: custom domain (app.clientname.com) per tenant, with automated SSL via Let's Encrypt. Implementation uses Cloudflare SaaS Custom Hostnames or Vercel Preview domains depending on scale and hosting choice. For agencies targeting SMB clients, subdomain per tenant (client.agency.app) is usually enough. Full custom domain sold as an upsell tier.
Case study: bolttech multi-region platform
bolttech's platform served 15+ international markets with partner-specific branding and integrations. 40+ payment providers across markets. 99.9% platform uptime. The architectural patterns — tenant-like partner isolation, per-partner configuration (payment providers, compliance rules, branded UX), unified platform operations across all tenants — apply identically to white-label SaaS for agencies. Unicorn-scale discipline at smaller scale. The data model and isolation patterns are the same; what differs is transaction volume, not architecture.
Reseller admin and margin controls
Your agency is a platform operator, not just a developer. Reseller admin needs: cross-tenant view (all tenants' health, usage, revenue), tenant provisioning (create new tenant, configure branding, invite first admin), billing management (see Stripe state, trigger refunds, manage disputes), support tools (impersonate end user for debugging, respecting audit log). Margin controls: your agency keeps a percentage of each tenant's subscription — configurable per tenant or plan. Stripe Connect handles the split automatically. Invoicing: end-clients see your agency as the provider, not Stripe directly — brand cohesion matters in B2B2B.
Pricing
White-label SaaS builds fit the Applications Pro tier at $4,500/mo because scope density is higher — multi-tenancy, theming, reseller admin all require careful architecture. First-version timeline: 6–8 weeks for launch-ready shell. Subscription continues through tenant onboarding as each new client finds new requirements. 14-day money-back, cancel anytime, Work Made for Hire. Your agency owns the code outright — you can white-label the product, you can white-label this development engagement. I'm the plumber; the product is your asset.
Recent proof
A comparable engagement, delivered and documented.
Unified payment orchestration across Asia and Europe
Delivered the payment orchestration platform at bolttech, a $1B+ unicorn, with 40+ integrations across multiple regions.
Frequently asked questions
The questions prospects ask before they book.
- How many tenants can the shell support?
- Row-level tenancy scales to tens of thousands of tenants on standard infrastructure. Past that (hundreds of thousands), schema-per-tenant or sharded architecture may warrant consideration. Most agencies ship with 5–50 tenants in year one; the architecture doesn't need to solve for 100k day one.
- Can each tenant have a custom domain?
- Yes. Subdomain (client.agency.app) standard. Full custom domain (app.client.com) via Cloudflare SaaS Custom Hostnames or Vercel Preview domains with automated SSL. Custom domain is usually sold as a tier upsell (Pro tier includes custom domain, Starter tier is subdomain).
- How does billing work for me vs the end-client?
- Stripe Connect with your agency as the platform. End-client's subscription flows to Stripe, split happens automatically (your margin, their vendor payment). End-client sees your agency's name on their statement. You see aggregate platform revenue in your agency's Stripe dashboard.
- What about end-client data ownership?
- Per-tenant data export and deletion supported. Each end-client can export their data at any time; termination includes a 30-day data retention window before permanent deletion. GDPR/CCPA-compliant. End-clients own their data (configurable in your platform terms); your agency owns the platform.
- Can I add new tenants without engineering help?
- Yes — tenant provisioning is self-serve from reseller admin. Agency operator creates tenant, configures branding, invites first admin user. No code deploy required. Complex customizations (custom workflows per tenant) remain engineering scope if needed.
Ready to start?
Tell me what you need in 60 seconds. Tailored proposal in your inbox within 6 hours.