Enterprise SaaS · 2025
Multi-tenant analytics with row-level RAG
A vertical SaaS founder needed to take an internal tool and turn it into a product 200+ tenants could share safely. We rebuilt the data plane with row-level security, layered an LLM-powered Q&A interface on top, and wired up usage-based Stripe billing.
- Industry
- Vertical SaaS
- Duration
- 20 weeks
- Team
- 6 engineers + 1 designer
Headline result
$2M
year-1 ARR
The challenge
What needed to change.
The founder had a working prototype her first 10 design partners loved, but it was single-tenant and not safely shareable. Each new customer meant a fresh deployment, and there was no model for ChatGPT-style natural language access without leaking data across tenants.
She needed a path to 200 tenants and her first $1M of ARR within twelve months — without rebuilding the product twice.
Our approach
How we built it.
We rebuilt the data plane on Postgres row-level security across 80+ tables, so every query is automatically scoped to the requesting tenant. Then we layered a per-tenant RAG system on top, with citations back to the source rows.
Billing was modelled on usage from day one — metered Stripe events for queries, storage, and seat counts, all reconcilable to the cent.
Highlights
- Row-level security across 80+ tables
- Per-tenant RAG with citations back to source rows
- Usage-based billing with metered Stripe events
- Admin tooling for support, audit, and tenant impersonation
- 180ms p95 query latency at 200-tenant load
Outcome
What changed.
First $2M of ARR in year one, 200+ tenants onboarded, and the founder now operates the platform with a team of three. The architecture decisions made in week three are still serving the product unchanged.
- Tenants onboarded
- 200+
- Year-1 ARR
- $2M
- Avg query latency
- 180ms
- Time to launch
- 20 weeks
Booking the next quarter
A problem worth solving?
Tell us what you're building. We'll come back within a business day with a written take and next steps.