Crossroads
E-learning platform with live 1:1 mentoring sessions, combining structured course content with real-time video coaching from industry practitioners.
The Challenge
Integrating self-paced video courses with live peer-to-peer mentoring sessions in a way that feels cohesive rather than bolted together, without requiring a third-party video conferencing service.
The Solution
Built a custom WebRTC signalling server in Django Channels that manages room lifecycle, TURN relay configuration, and session recording to S3 — all within the platform's own infrastructure.
Crossroads bridges the gap between passive online learning and effective skill development by pairing structured course curricula with on-demand 1:1 mentoring from working professionals. Students progress through video lessons and assignments at their own pace, then schedule focused coaching sessions with mentors to get unstuck, review their work, or accelerate into advanced topics.
Challenge
Most e-learning platforms treat video calls as a bolt-on feature via third-party embeds, which creates jarring context switches and hands user data to external services. The goal for Crossroads was native video sessions that feel like a first-class part of the learning journey — with session notes, shared code editors, and automatic progress updates recorded against the student’s curriculum. Managing WebRTC peer connections at scale without a dedicated media server required careful ICE/STUN/TURN configuration.
Solution
The platform uses Django Channels as a WebSocket server for WebRTC signalling. When a session begins, the server negotiates the peer connection, provides TURN credentials from a self-hosted Coturn instance, and starts a recording pipeline using the browser’s MediaRecorder API — uploading chunks to S3 via presigned URLs. After each session, a Celery task transcribes the recording, generates a summary, and attaches it to the student’s learning record. The React frontend uses a custom hook to manage connection state, reconnection logic, and quality degradation gracefully.
Key Features
- Self-paced video courses with progress tracking and completion certificates
- Live 1:1 video mentoring via browser-native WebRTC — no app download required
- Shared collaborative code editor during mentoring sessions
- Automatic session recording, transcription, and AI-generated summary notes
- Smart mentor matching based on skill tags, availability, and student goals
- Stripe subscription billing with per-session credit packs
- Admin dashboard for course authoring with drag-and-drop lesson ordering