System design

Video Conferencing (e.g. Zoom)

Premium

Question

Design a browser-based video conferencing application similar to Zoom, Google Meet, or Whereby that lets authenticated users preview their camera and microphone before joining, participate in a multi-person meeting, mute and unmute themselves, toggle their camera, switch between grid and speaker layouts, share their screen, and send basic in-meeting chat messages.

Focus on the front-end architecture and the client/server contract for joining a room, establishing and maintaining media connections, handling real-time participant state, and adapting gracefully to changing network quality. You do not need to go deep on scheduling, recording, breakout rooms, captions, webinars, native applications, or server-side media transcoding details.

Real-life examples

Requirements

  • Support a desktop-first web meeting room for up to roughly 25 active participants.
  • Include a prejoin flow for camera and microphone permissions, device selection, and local preview.
  • Support participant roster updates, active speaker indication, mute/camera controls, screen sharing, and basic in-meeting chat.
  • Handle network degradation, reconnects, and quality adaptation gracefully.
  • You do not need to cover scheduling, recording, breakout rooms, captions, webinars, or native applications.

Premium question

Purchase premium to unlock premium questions and all the best materials we have to offer.
All premium questions
High quality solutions
Time-savers like focus areas
Front end system design guides