The problem
The company had a strong analytics product, but every customer ran on an isolated deployment that their team provisioned by hand. Growth meant more manual work and a longer sales cycle.
What we did
- Tenancy model. Introduced an organisation entity, row-level isolation and a tenant-aware data layer, migrating existing customers without downtime.
- Billing. Integrated Stripe for three subscription tiers plus usage-based metering, with a self-serve upgrade and downgrade flow.
- Access control. Role-based permissions with an audit log, and an admin console for the support team.
The outcome
Self-serve signup launched 11 weeks after kickoff. New customers now onboard themselves, and the support load from access and permission questions fell by 40%.