Research

Project Overview

Webinar Application is a comprehensive, enterprise-grade video conferencing and webinar platform built with React Native for iOS and Android. This mobile application enables organisations to host live webinars, conduct virtual meetings, and facilitate interactive online events with rich multimedia capabilities.

  • Host and manage webinars with large participant capacities (50+ simultaneous participants).
  • Conduct interactive virtual meetings with real-time collaboration features.
  • Record and archive sessions for later reference and distribution.
  • Manage content, participants, and engagement tools all in one unified platform.
  • Provide seamless experiences across mobile devices (phones and tablets) with consistent performance.

Challenges

  • Real-time video/audio streaming complexity across iOS and Android with varying device capabilities.
  • Screen sharing implementation requires different approaches for iOS (Broadcast Extension) and Android.
  • Complex state management across multiple Redux stores with real-time WebSocket updates.
  • Network resilience and reconnection handling for unstable mobile networks.
  • Background processing for downloads and continued functionality when the app is backgrounded.
  • Role-based access control for different user types (Host, Moderator, Guest, Viewer).
  • Responsive design across phones, tablets, portrait and landscape orientations.

Project Goal

  • Deliver seamless, low-latency video/audio communication using WebRTC technology (mediasoup-client).
  • Provide identical feature sets and user experiences on both iOS and Android platforms.
  • Create an enterprise-ready solution with administrative controls and security features.
  • Ensure application reliability under various network conditions and device capabilities.
  • Build an intuitive, responsive interface that works seamlessly across different device sizes.

Overcome

  • Mediasoup-client integration for stable, scalable WebRTC video/audio communication.
  • Platform-specific screen sharing with Broadcast Extension for iOS and native Android implementation.
  • Comprehensive Redux architecture with separate stores for user, room, chat, media, and app state.
  • Network monitoring and automatic reconnection with visual feedback for users.
  • Background download system using react-native-background-downloader for continuous file transfers.
  • Role-based permission system with dynamic UI rendering based on user roles.
  • Responsive layout system with 4 different view options, adapting to device and orientation.

Technology Stack

App Features

Live Video/Audio Conferencing with multi-participant support

Multiple Layout Views (Grid, Focus, Custom arrangements)

Screen Sharing with Picture-in-Picture mode support

Document & Media Sharing with Zoom and synchronised playback

Real-time Chat with file attachments and message history

Interactive Polls & Q&A with live voting and results

Session Recording with download and management capabilities

Participant Management with role-based controls

Waiting Room & Room Locking for secure access control

Calendar Integration for webinar scheduling and management

Background Downloads for recordings and media files

Deep Linking for easy webinar joining