✦saranzafar
HomeProjectsAboutBlogContact
✦saranzafar© 2026 Saran Zafar. All rights reserved.

Made with ❤️ in Azad Kashmir, Pakistan

Back to projects

Multi-Tenant Learning Management System

A SaaS LMS that lets each institute brand, configure, and run their own classrooms — without forking the codebase.

SaaS2025Lead full-stack engineer
View Live
Multi-Tenant Learning Management System

Technology Stack

TypeScriptNext.jsNestJSPostgreSQLRedisDockerStripe

Project Overview

I joined the project as the second engineer with the opportunity to take an existing single-tenant LMS and rebuild it as a true multi-tenant SaaS. The goal was simple — let any institute, training company, or coaching academy run their own classrooms on shared infrastructure, without forking code or duplicating ops.

The challenge was less about features and more about isolation, customisation, and onboarding. Every tenant needed their own brand, domain, billing, and data — but the platform team needed exactly one codebase to maintain.

Objectives

The primary goals of the LMS rebuild were:

  • Design a tenancy model that scales to hundreds of institutes on shared infrastructure.
  • Reduce onboarding from a week of setup to a self-serve three-field form.
  • Provide deep theming and configuration without giving any tenant access to code.
  • Keep the API surface boring and predictable so feature work doesn't slow down over time.

Domain and Industry Context

Education-tech is full of platforms that look the same on the outside and behave very differently on the inside. Some institutes care about live classes; some care about assignments; some care almost entirely about attendance and report cards for parents.

We needed a model where each of those flavours felt like a first-class product — same engine, different surfaces. The shape of the data, the role of the tenant admin, and the rituals of the school calendar all shaped the design more than any framework choice did.

Features

Tenant Onboarding

A self-serve flow where a new institute picks a subdomain, uploads a logo, sets a brand colour, and is in their own workspace within minutes — fully provisioned, zero ops involvement.

Tenant Onboarding screenshot 1
Tenant Onboarding screenshot 2
Tenant Onboarding screenshot 3

Course Authoring & Live Classes

A clean drag-and-drop course authoring tool, paired with a stable live-class layer that handles attendance, breakout rooms, and recording — all surfaced through the same student dashboard.

Course Authoring & Live Classes screenshot 1
Course Authoring & Live Classes screenshot 2

Reporting & Analytics

Daily, weekly, and term-level reports on attendance, assignments, performance, and engagement — exportable to PDF, schedulable over email, and drillable down to a single student.

Reporting & Analytics screenshot 1
Reporting & Analytics screenshot 2

Multi-Tenant Billing

Stripe-backed billing with per-tenant plans, prorated upgrades, and proper invoicing — the platform team sees one consolidated revenue dashboard, while each institute sees only their own.

Multi-Tenant Billing screenshot 1
Multi-Tenant Billing screenshot 2

Outcome

The platform now hosts dozens of institutes on a single deployment. New tenants self-serve onboarding in under five minutes, brand their workspace fully, and spin up their first cohort the same day.

Operationally, the platform team went from spending most of a week per institute to spending almost nothing — onboarding is fully automated and incidents are scoped to a single tenant by design.

Revenue follows usage cleanly, billing is reconciled automatically, and feature work no longer slows down as the number of institutes grows.

Conclusion

The hardest part of building a multi-tenant SaaS isn't the features — it's the discipline. Every shortcut you take in tenancy, isolation, or configuration shows up months later as an outage or a migration nightmare.

By keeping the data model boring and the API surface narrow, the system has stayed easy to evolve. Onboarding stays fast, customer trust stays high, and the team can ship features instead of fighting fires.

More projects

See all
Real-Time Sync Engine for Mobile + WebSaaS

Real-Time Sync Engine for Mobile + Web

Offline-First Clinic Desktop ApplicationDesktop

Offline-First Clinic Desktop Application

Multi-Vendor E-Commerce MarketplaceE-Commerce

Multi-Vendor E-Commerce Marketplace