EdTech / By Techrays Labs / Published 1 Feb 2025
Real-time learning platform rebuilt with Laravel, Vue.js and WebSockets
How we rebuilt an online learning platform to support live interaction, personalised learning and thousands of concurrent users.
- +Live chat, Q&A, polls and a shared whiteboard during classes
- +Personalised dashboards for progress, classes and assignments
- +Load tested for thousands of concurrent users on auto-scaling AWS infrastructure
The client runs a learning management system with self-paced and instructor-led courses. Students needed more connection with instructors and peers, and the platform needed to scale.
The challenge
- No real-time interaction: no live discussion, Q&A or collaboration during classes.
- Low engagement: students felt disconnected, which hurt course completion.
- Peak-hour slowdowns: the system struggled as the user base grew.
- Fragmented journey: students had trouble moving between courses, progress tracking and assessments.
- Little collaboration: few options for group learning or peer feedback.
What we built
Back end: Laravel
A RESTful Laravel API serves course content and student progress to the web and mobile apps. Laravel event broadcasting delivers instant messages and notifications. Automated quizzes, course tracking and analytics support personalised learning paths, and Redis with Laravel queues handles grading, notifications and recommendation updates in the background.
Front end: Vue.js
Vue.js and WebSockets power live Q&A, instant poll results and an interactive whiteboard. Personalised dashboards show progress, upcoming classes, assignments and forum discussions. Vuex keeps progress, feedback and grades consistent across the platform.
Real-time collaboration
WebSockets with Pusher provide live student-instructor chat, instant notifications for messages, assignments, grades and classes, and a collaborative whiteboard.
Scale and quality
The platform runs on AWS with auto-scaling and load balancing for traffic spikes at course launches and exams. We optimised queries and added indexes, stress-tested under simulated high traffic, ran user acceptance testing with instructors and students, and tested the real-time features end to end across devices and browsers.
Outcome
Classes are interactive, students can see where they stand, and the platform copes with thousands of concurrent users. We supported the client after launch with updates, new features and performance monitoring.
Work with us
Building a learning product? Talk to us.
STACK: Laravel, Vue.js, WebSockets, Pusher, Redis, AWS
Start a project