Overview
I engineered the LMS end-to-end within a multi-tenant Nest.js and Prisma backend paired with a React frontend. The product evolved from an internal tool into a commercial offering: React hosted on S3/CloudFront, Nest.js on AWS ECS, and PostgreSQL on RDS. Client onboarding and user management were key focus areas for growth.
Architecture
flowchart TB
subgraph clients ["Clients"]
Admin["Tenant admins"]
Learners["Learners"]
end
subgraph aws ["AWS"]
CF["CloudFront"]
S3["S3 static React app"]
ECS["ECS Nest.js API"]
Prisma["Prisma ORM"]
RDS[(PostgreSQL on RDS)]
end
Admin --> CF
Learners --> CF
CF --> S3
S3 -->|"API calls"| ECS
ECS --> Prisma
Prisma --> RDS
ECS -->|"Multi-tenant onboarding and user management"| RDSSummary
A Learning Management System built in a multi-tenant architecture, first for internal use and later commercialized, with streamlined onboarding and user management on AWS.
What I worked on
- Architected multi-tenant LMS structure using Nest.js, Prisma ORM, and React.
- Streamlined client onboarding and user management to improve scalability.
- Deployed and operated the Nest.js API on AWS ECS with React on S3/CloudFront and Postgres on RDS.
- Designed database schemas and APIs for efficient data retrieval and frontend integration.
Results
- Internal LMS successfully commercialized for external clients
- Streamlined multi-tenant onboarding and user management
- Production deployment on AWS with robust cloud hosting
- Scalable schema and API foundation with Nest.js and Prisma