All projects

FairChild

An institutional LMS for FairChild Institute. Student, instructor, admin, and support portals share one Node.js API with payments, SCORM courses, and realtime messaging.

Role
Lead engineer (contract)
Year
2025 - 2026
Stack
  • React
  • Vite
  • TypeScript
  • Node.js
  • Express
  • TypeORM
  • PostgreSQL
  • Redis
  • Socket.io
  • Stripe

Context

FairChild needed more than an off-the-shelf LMS: course delivery, attendance, grading, payments, and a support desk, each with its own portal and its own view of the same academic data.

What I built

A Node.js and TypeORM API on PostgreSQL that models institution, applicant, instructor, staff, and student domains separately, around 100 entities in all. React and Vite portals consume it. BullMQ queues on Redis run report generation and reminders, Socket.io carries messaging, Stripe handles payments, and Puppeteer renders PDFs.

Details

  • Course delivery, quiz and task grading, attendance, and a shared calendar across student and instructor portals
  • Enrollment, course applications, and a Stripe-backed student wallet
  • A separate support portal with ticketing and a knowledge base
  • Hardening: TOTP two-factor auth, rate limiting, Helmet, and input sanitization
  • Jest set up with coverage reporting, with unit tests on the academic grading logic

Status

Shipped to dev, staging, and production with Docker, Nginx, GitHub Actions, automated backups, and Prometheus, Grafana, and Loki monitoring. My contract ended in July 2026.