Adding Live Classes and Paid Courses to an LMS Without Breaking the Grading Engine
Client: Product Build — Onest Tech LLC · Industry: Education & Training · Role: Lead Developer · Duration: 3-4 months
The Challenge
The existing Laravel LMS handled course content, enrollment, and auto-graded assessments for 5,000+ students, but the business wanted paid premium courses (needing dual payment providers for different regions) and live virtual classrooms — both of which risked destabilizing the existing grading and progress-tracking engine if bolted on carelessly.
The Solution
Added Stripe and PayPal as parallel payment providers behind a single internal payments interface, so premium-course access-gating logic didn't need to know which provider was used. Built live classes as a separate service communicating with the core LMS over gRPC — rather than REST — for lower-latency session-state sync between the classroom service and enrollment records, keeping the grading engine's codebase untouched. Feature-flagged the rollout per institution to de-risk the launch.
Results & Impact
- Shipped paid premium courses with dual payment providers with zero regressions in the existing grading engine
- Live virtual classrooms launched as an isolated service, avoiding changes to core LMS code
- Continued serving 5,000+ active students through the rollout with zero major incidents
- gRPC session sync kept classroom-to-enrollment latency low enough for real-time attendance marking