FairChild
An institutional learning management system built for FairChild Institute: separate student, instructor, and support portals on one shared backend.
The problem
FairChild Institute needed a real LMS, not a generic one: course delivery, attendance, grading, payments, and support, each with its own portal, and each with a different view into the same academic data.
Approach
I led the build of a Node.js and TypeORM API modeling institution, applicant, instructor, staff, and student domains separately, backed by around 100 database entities. Three React and Vite frontends (student, instructor, support) consume it, with Socket.io for messaging and Redis-backed queues for background work like report generation and reminders.
What it does
- Course delivery, task and quiz grading, attendance, and a shared calendar across instructor and student portals
- Enrollment, course applications, and a Stripe-backed student wallet and payments flow
- A dedicated support portal with ticketing and a knowledge base, separate from the academic apps
- SCORM support, Puppeteer-generated PDFs for reports and receipts, and a real three-environment deployment pipeline
Where it stands
In production across dev, staging, and prod environments with CI/CD, automated backups, and rollback. Currently scoping a Phase 2: a secure DRM video pipeline and React Native instructor and student apps at parity with the web portals.