Overview
We’re building Mass Class — a virtual classroom designed to support 100,000+ students watching a single instructor livestream, with real-time interactive features such as:
- Synchronized whiteboard/slides
- Live Q&A and chat
- Real-time polls/quizzes
- Hand-raising and participation tracking
- YouTube Live stream as the scalable video backend
The presenter streams using WebRTC (desktop + webcam), bridged to YouTube Live via RTMP. Students join through a web client for interactive engagement in sync with the live stream.
Goals
Teacher Interface
- Stream both desktop and webcam (merged) via WebRTC.
- Stream control panel:
- Start/stop stream
- Moderate student chat
- Push polls/quizzes or slide updates
Streaming Pipeline
- Receive WebRTC from browser
- Bridge to RTMP using GStreamer or Pion backend
- Push to YouTube Live ingest endpoint
Student Interface
- Embedded YouTube Live stream
- Real-time interactivity:
- Chat / Q&A (via WebSockets)
- Synchronized slide/whiteboard
- Live polls, quizzes
- "Raise hand" feature for student feedback
Backend
- Lightweight signaling for SDP/ICE exchange (via Django or FastAPI)
- Real-time layer with WebSockets + Redis pub/sub
- Authentication & moderation
- Scalable WebSocket infrastructure (socket clusters or Channels Layer)
Proposed Stack
| Layer |
Tech/Tooling |
Purpose |
| Frontend |
Vanilla JS |
Classroom UI |
| WebRTC |
getDisplayMedia + getUserMedia |
Capture screen + webcam |
| Signaling Server |
Django + Django Channels (or FastAPI) |
SDP & ICE handling |
| Media Bridge |
GStreamer / Pion / FFmpeg |
WebRTC → RTMP |
| Streaming CDN |
YouTube Live (RTMP) |
Scalable live video |
| Interactivity |
Django Channels, Redis Pub/Sub |
Chat, Q&A, polls |
| Auth |
JWT or Django sessions |
Login + identity |
| Storage/Cache |
PostgreSQL + Redis |
Poll results, attendance |
Milestones
MVP
- WebRTC stream from teacher (desktop + webcam)
- Bridge to YouTube Live
- Student joins stream via embedded YouTube player
- Real-time chat
Phase 2
- Add polls, quizzes
- Hand-raising queue
- Whiteboard or slide sync
Phase 3
- Admin dashboard for moderation
- Attendance, engagement analytics
- Push notifications
Phase 4
- Scale to 100K students
- Redis pub/sub socket layer
- CDN integration for static assets
Tasks
Challenges
- Latency management between YouTube Live and real-time layers
- Merging desktop + webcam feeds
- Spam prevention at scale
- Whiteboard/presentation synchronization
- Mobile support for large userbase
Get Involved
We’re looking for collaborators who can help with:
- GStreamer / FFmpeg scripting
- WebRTC SDP handling
- Frontend UX/UI
- WebSocket infrastructure
- Polling & Q&A logic
- DevOps (Docker, scaling, monitoring)
Labels
feature streaming real-time education WebRTC interactive frontend backend
Overview
We’re building Mass Class — a virtual classroom designed to support 100,000+ students watching a single instructor livestream, with real-time interactive features such as:
The presenter streams using WebRTC (desktop + webcam), bridged to YouTube Live via RTMP. Students join through a web client for interactive engagement in sync with the live stream.
Goals
Teacher Interface
Streaming Pipeline
Student Interface
Backend
Proposed Stack
getDisplayMedia+getUserMediaMilestones
MVP
Phase 2
Phase 3
Phase 4
Tasks
Challenges
Get Involved
We’re looking for collaborators who can help with:
Labels
featurestreamingreal-timeeducationWebRTCinteractivefrontendbackend