// the find
bigbluebutton/bigbluebutton
A complete web conferencing system for virtual classes and more!
BigBlueButton is a full-stack virtual classroom platform — WebRTC audio/video, whiteboard, breakout rooms, polls, shared notes, recording, and a plugin SDK. It's aimed at educational institutions that need self-hosted conferencing rather than paying per-seat for Zoom or Teams.
The architecture is genuinely thoughtful for its scale: Akka actors handle meeting state in Scala, Freeswitch owns audio, and a separate bbb-webrtc-sfu manages video — each component has a clear failure domain. The plugin SDK is a real differentiator; you can ship custom data channels and UI extensions without forking core. Learning Analytics Dashboard is built-in, not bolted on — instructors get engagement data without a separate integration. Active CI with Playwright end-to-end tests and a bbb-install.sh that actually works is a low bar that many self-hosted projects miss.
The installation story is Ubuntu 22.04 only — not a container, not a Helm chart, a shell script that configures the entire OS. Running it anywhere else is unsupported and painful in practice. The tech stack is a grab bag: Scala/Akka, Node.js, React, Ruby (Greenlight frontend), Freeswitch, Kurento/mediasoup — onboarding a new contributor means learning five ecosystems. WebRTC at scale still requires a TURN server and careful network tuning that the docs understate; most self-hosters hit this wall. The codebase carries years of 'bbb-2x' migration artifacts and legacy naming that makes it hard to reason about what's current versus deprecated.