Skip to main content
RuyaTech

Focalis: A Multi-Tenant SaaS Platform for a 3D Configurator

A client owned a powerful real-time 3D product configurator but no way to sell it as software. We built the multi-tenant SaaS platform around it — admin portal, backend, and billing — so they can onboard and run fully isolated customers themselves, with no code changes and no vendor dependency. Delivered in about six weeks.

SaaS3D Product ConfigurationSaaS BuildMulti-TenancyPlatform EngineeringClean Architecture
What We Did
SaaS Admin Portal, Backend API, Multi-Tenant Architecture
Industry
3D Product Configuration · B2B SaaS
Timeline
~6 Weeks · AI-Assisted Delivery
Overview

The Client's Problem

The client had something valuable: a polished, real-time 3D product configurator built in React and Three.js. What they didn't have was a way to sell it as software. To turn one configurator into a commercial SaaS, they needed a platform layer that could serve multiple isolated clients from a single deployment — each with their own data, users, branding, and settings — and let them onboard a new customer without touching code, redeploying, or calling an engineer. The contract was strict: true multi-tenancy, complete isolation, autonomous onboarding, no performance regression on the configurator, and documentation thorough enough to hand the whole thing off. They came to us to build the two missing pieces — the admin portal and the backend — and wire them cleanly into the configurator they already owned.

Challenges

What We Built

01

Challenge 1

A backend that enforces tenant isolation by design — We built a NestJS backend on Clean Architecture (controllers → services → repositories → Prisma) with multi-tenancy enforced in depth: a JWT tenant guard injects tenant context into every request, an interceptor auto-scopes every query to the active tenant, and database-level row isolation backs it up. Cross-tenant access isn't discouraged — it's technically impossible. Fifteen modules and twenty data models cover the full SaaS surface: tenants, auth and roles, products, pricing rules, leads, billing, support, and analytics.

02

Challenge 2

A self-service admin portal — A Next.js 15 portal (App Router, shadcn/ui) where the client creates, suspends, or deletes a customer with no code changes and no redeployment. Role-based access, email-invitation onboarding, per-tenant branding, a product and pricing engine with CSV import/export and price-change audit logs, a leads pipeline, and a full FR/EN bilingual UI.

03

Challenge 3

Billing, analytics, and the operational layer — Stripe-powered subscriptions, invoices, and webhooks, with PCI compliance handled by Stripe. An analytics dashboard backed by an event-ingestion pipeline and scheduled aggregation jobs — KPI cards, visit trends, quotes-per-model. Support tickets, in-app notifications, and tutorials round out a platform the client can operate day to day.

04

Challenge 4

Decoupled architecture and a real handover — Three independently deployable components — the existing configurator, the portal, and the backend — talking over versioned REST contracts, so any one can be swapped without a rewrite. The backend is the single source of truth: Swagger generates the OpenAPI spec and the frontend auto-generates its types from it, so the two repos never drift. We shipped auto-generated API docs, data-model schemas, and deployment runbooks — complete enough for any competent team to deploy, operate, and extend it without us.

Final Results

The Results

About six weeks from start to a production-grade, fully documented multi-tenant SaaS platform. The client can now onboard and operate new customers entirely on their own — no code changes, no redeployment, no vendor dependency — while the original 3D configurator runs as fast as it did standalone. Every contractual gate was met: true isolation, tenant-level resilience, and a clean ownership handover. They didn't get a configurator with a login bolted on — they got a business they can run and grow themselves.

Focalis: A Multi-Tenant SaaS Platform for a 3D Configurator — screenshot 1 showing saas product interface
Focalis: A Multi-Tenant SaaS Platform for a 3D Configurator — screenshot 2 showing saas product interface
Focalis: A Multi-Tenant SaaS Platform for a 3D Configurator — screenshot 3 showing saas product interface
Analysis

Why This Project Matters

This is the kind of build that looks simple from the outside and is anything but underneath. Multi-tenancy done wrong leaks one customer's data into another's — so we enforced isolation at three layers and made cross-tenant access impossible by construction, not by convention. And because the client's whole ask was independence, the real deliverable wasn't just the code — it was the documentation and architecture that let them own and extend it without us. We treated their product like ours: built to be handed over, not held hostage.

Tenant Isolation Enforced in Depth — Not by Convention

See Technical Details

Most multi-tenant bugs come from one missed WHERE clause. We removed that risk structurally: a JWT guard injects tenant context into every request, an interceptor automatically scopes every database query to the active tenant, and row-level isolation backs it at the database. A developer can't accidentally leak data across tenants because the platform won't let the query run unscoped. Suspending or deleting one tenant never touches another.

Built to Be Owned, Not Held Hostage

The contract demanded full ownership transfer, so we treated documentation as a deliverable, not an afterthought. The NestJS backend is the single source of truth — Swagger generates the API contract and the frontend auto-generates its types from it, so nothing drifts. We handed over OpenAPI docs, data-model schemas, deployment runbooks, and environment references: enough for any competent team to deploy, operate, and extend the platform without ever calling us. That's what real handover looks like.

Let's Talk

Ready to Build, Rescue, or Scale Your Product?

Tell us about your project. If it's a good fit, we'll schedule a strategy session.

Let's Talk

We respond within 4 hours during business hours. No obligation.

FAQs

Questions About Our Work

Common questions from founders exploring our portfolio and considering working with our team.

Yes — we'll walk you through relevant projects with detailed technical breakdowns and real results. Reach out and we'll share case studies specific to your industry and challenge.

Very likely. We've built AI automation systems, SaaS platforms, mobile apps, and web applications. During a consultation, we'll show you comparable work and explain how our team would approach your specific needs.

Our go-to stack includes Next.js/React for frontend, Node.js for backend, AWS/Firebase for infrastructure, and PostgreSQL/MongoDB for databases. For AI, we use OpenAI, AWS Bedrock, and custom models. We adapt based on your requirements and long-term goals.

We define success metrics upfront with each client — user growth, performance benchmarks, cost reduction, or revenue increase. The results in our case studies (like 600 paying members in 6 months for Bake Genie) are real, verified metrics.

Absolutely. Every project you see started as an idea. We'll analyze your requirements, share relevant experience, and give you honest business advice on the fastest path to launch. Reach out to get started.