CASE STUDY

Full-Stack Video Conferencing Platform for Online Events

Bemyapp
Full-Stack Video Conferencing Platform for Online Events
Industry Events & Virtual Experiences / Video Conferencing
Region Global
Timeline Full-cycle engagement
Team Trembit dedicated engineering team
Backend
Node.js NestJS
Realtime
Firebase Jitsi Meet
Cloud
AWS

The Problem

An event technology company needed a video conferencing platform purpose-built for large-scale online events — hackathons, product launches, community meetups, and interactive virtual experiences. Standard conferencing tools couldn't deliver the synchronized playback, content management, and event-specific scheduling that their clients required. They needed a customized Jitsi Meet deployment that went beyond basic video calls — supporting synchronized multi-user video playback (where all participants watch the same content at the same moment), file uploads for event materials, and flexible event management APIs that could orchestrate complex multi-session virtual events at scale.

Why Building an Event-Grade Video Conferencing Platform Is Hard

Video conferencing for large-scale events introduces engineering challenges that go well beyond standard meeting tools:

  • Synchronized multi-user playback is a distributed systems problem — when hundreds of participants need to watch the same video at the same moment, clock drift, network latency, and buffering differences across clients must be reconciled in real time. Even a 2-second desync breaks the shared experience
  • Customizing Jitsi Meet without breaking it — extending an open-source conferencing core with custom video players, synchronized playback, and event-specific UI requires deep integration work that must preserve Jitsi's reliability while adding new capabilities
  • Event-scale traffic is bursty and high-stakes — virtual events have fixed start times with hundreds of participants joining simultaneously. There is no "try again in 5 minutes"; if the platform cannot handle the burst, the event fails publicly
  • Content management alongside live video — events require file uploads (slides, documents, resources), organized content libraries, and the ability to share materials during live sessions without disrupting the video experience
  • Flexible scheduling across complex event structures — multi-track events with parallel sessions, breakout rooms, keynotes, and networking breaks require scheduling APIs that handle nested session hierarchies, participant routing, and real-time state management
  • Full-stack build on open-source foundations — extending Jitsi Meet with synchronized playback, content management, and event APIs required custom NestJS backend services, Firebase real-time state, and AWS infrastructure working together reliably under event traffic

What We Did

1

Architecture & Custom Jitsi Deployment

  • Designed the full-stack architecture with NestJS backend services on Node.js, deploying a customized Jitsi Meet instance with extended capabilities for event-specific features
  • Deployed on AWS with auto-scaling infrastructure optimized for event traffic — pre-warmed capacity for scheduled start times and elastic scaling for peak concurrent sessions
  • Established Firebase for real-time data synchronization — playback state, participant presence, chat messages, and event metadata delivered with sub-second latency
2

Synchronized Playback & Custom Video Player

  • Built the customized Jitsi Meet video player with synchronized multi-user playback — all participants see the same video content at the same timestamp, controlled by event organizers
  • Implemented the playback synchronization engine using Firebase real-time state — broadcasting play/pause/seek commands to all connected clients with clock-drift compensation and buffering alignment
  • Developed the dual-mode interface — live conferencing mode for interactive sessions and synchronized playback mode for keynotes, with seamless transitions between them
3

Content Management & Event APIs

  • Built the file upload and content management system — organizers upload slides, documents, videos, and resources that are organized per event and accessible to participants during sessions
  • Developed the event management APIs with NestJS — session scheduling, participant registration, multi-track event structures, breakout room assignments, and real-time session state
  • Implemented the event dashboard for organizers — session timeline management, participant monitoring, content library, and live event controls
4

Scalability & Reliability

  • Load-tested the platform for large-scale event scenarios — hundreds of concurrent participants across multiple simultaneous sessions with synchronized playback and active chat
  • Implemented connection quality monitoring and adaptive streaming to maintain stable video delivery across varying participant network conditions
  • Built health monitoring and alerting across all services — Jitsi session quality, Firebase sync latency, and API response times — giving organizers real-time visibility during live events

Key Results

Customized Jitsi Meet Extended with event-specific features and synchronized playback
Multi-user sync All participants watch the same content at the same timestamp
Content library Event materials organized and accessible during live sessions
Flexible scheduling Multi-track events, breakout rooms, and participant routing
Event-grade Reliable performance under burst traffic at scheduled start times
Full-stack NestJS, Firebase, customized Jitsi Meet on AWS

In Their Words

Bemyapp needed more than a video call tool — we needed an event platform. Trembit built exactly that, with synchronized playback and content management that our organizers love.
Bemyapp platform team
Their proactive team gets things done as if it were their own project.
Trembit client

What We Learned

Synchronized playback is harder than live streaming — because every client is a different clock

Live streaming has inherent latency tolerance; viewers accept a few seconds of delay. Synchronized playback demands that all participants see the same frame at the same moment. We built a Firebase-based sync controller that broadcasts authoritative timestamps from the organizer's client, with each viewer running a local correction loop that adjusts playback speed (not position) to converge on the target. Jumping to a new position creates visible glitches; gentle speed correction creates invisible alignment.

Customizing Jitsi Meet is a maintenance commitment, not a one-time fork

Every customization — the synchronized player, event-specific UI, extended participant controls — creates a delta from upstream that must be maintained across Jitsi updates. We architected our customizations as modular plugins and overlay layers rather than core modifications, so the base Jitsi deployment can be updated independently. The customization architecture was as important as the customizations themselves.

Event content management needs to be session-aware, not just file storage

Organizers don't think in terms of "uploaded files" — they think in terms of "the slides for the 2pm keynote." We built the content system with session-level scoping: files are uploaded to specific sessions, automatically presented to participants in the right context, and archived with the session recording afterward. The content system became part of the event narrative, not a separate file browser.

Need an Event Video Platform?

Book a 30-minute architecture session — we'll discuss your event platform requirements and the infrastructure decisions that matter most. No pitch deck. Just engineering clarity.

Thank you! Your message has been successfully sent. We will contact you shortly.

Something went wrong. Please try again or email us at welcome@trembit.com