ZOOM App Development

Job ID: 39319883

Budget: $250 – $750 USD

1. Overview
The Zoom Speaking Queue Manager is a Zoom add-in designed to facilitate orderly, time-efficient discussions by automating speaker order management. Participants are queued based on their login time, and the host has control over queue operations. This document outlines the functional requirements, interface expectations, and technical architecture.

2. Functional Requirements
2.1 Host Controls
- Start Queue Manager: Initializes queue using participant join time.
- Skip Participant: Moves the next person in line to the speaking position.
- Enable Breakout Mode: When participant count exceeds a set threshold, host can split participants randomly into two breakout rooms. New participants are alternately assigned.

2.2 Participant Experience
- Auto-join Queue: Participants are ordered by join time, no user action needed
- Queue Panel Visibility: Everyone sees the full speaking order; the current speaker is flagged.
- Next in Queue Button: Appears only when it's the participant's turn. Clicking it hands over control to the next speaker.

2.3 Queue Logic
- Initial queue is based on join time.
- When the current speaker clicks 'Next in Queue' or the host clicks 'Skip', the next person in line becomes the current speaker.
- No 'Spoken' or 'Skipped' labels are maintained.
- Queue updates in real-time for all users.

3. User Interface
The interface includes a shared Queue Panel visible to all, displaying participant names in order with a 'Speaking' label next to the current speaker. The host sees additional controls (Start, Skip, Breakout).

4. Breakout Room Logic
If the host activates Breakout Mode due to a high number of participants, the system will randomly split participants 50/50 into two breakout rooms. New arrivals are assigned alternately to Room A or B. Each breakout room is managed based on relative placement in the original queue and new participants are added to the end of the respective breakout room queues.

5. Technical Architecture
- Frontend: Zoom Apps SDK (preferred) or Zoom Web SDK + HTML/CSS/JS for browser integration.
- Backend: Node.js or Python Flask backend to manage queue state and handle control logic.
- Real-time Updates: WebSocket or polling mechanism for real-time queue updates.
- Zoom API: Used to detect join time, participant identity, and breakout control.
Related categories: HTML Node.js Zoom