LiveKit live operations console for room moderation

By General Input

Watch every live room on one screen, remove disruptive guests, start recordings and end stuck sessions without anyone opening a terminal.

Integrations

  • LiveKit
  • Slack Bot
  • General Input Database

Type

App

Categories

  • Operations
  • Customer Support

Build me a live operations console for LiveKit that my support and event ops team keeps open on a second monitor while sessions are running, so they can see and fix problems without anyone opening a terminal. The audience is support staff, event ops and live class moderators, not engineers.

The main view is an auto refreshing grid of every active room, loaded with LiveKit List Rooms. Each row shows the room name, the participant count, how long the room has been up based on its creation time, whether a recording is currently running based on List Egress for that room, and whether an agent worker is attached based on List Agent Dispatches. Refresh the whole grid on a short interval of about ten seconds. LiveKit list endpoints return the full result set with no pagination, so one refresh is a single call per resource and the grid can safely reload everything each time.

Sort so the rooms that need attention come first: rooms with zero participants and rooms whose most recent egress record is in a failed state go to the top, then the rest ordered by longest running. Give each row a clear status chip for recording state and for agent state so a moderator can scan the grid at a glance from a few feet away.

Expanding a row lists everyone in the room using List Participants, showing identity, display name, join time, what they are currently publishing such as audio, video or screen share, and their connection quality. When the operator opens a single participant detail panel, load that person with Get Participant.

From each room row, and from each participant inside an expanded row, the operator can act immediately. Remove Participant disconnects a disruptive participant. Update Participant changes what someone is allowed to publish. Update Subscriptions changes which tracks a participant is subscribed to. Update Room Metadata posts a notice to everyone in the room. Start Room Composite Egress begins a recording and Stop Egress ends one. Create Agent Dispatch attaches an agent worker to the room. Delete Room ends a stuck session and disconnects everyone.

Every one of these actions is either destructive or immediately visible to people in a live session, so each one opens a confirmation dialog naming the room and the affected participant before it fires. Nothing acts on a single click.

LiveKit keeps no audit trail of its own, so log every moderator action to the General Input Database: the action taken, the room name, the participant identity where one applies, the arguments used, the result returned, the signed in app viewer who did it, and the timestamp. Add a second view in the app that shows this log newest first and lets the team filter it by room, so they can answer questions like who ended that session after the fact.

Each room row also has a Diagnose this room button that kicks off a background agent. The agent reads the room with List Rooms, its participants with List Participants, its recordings with List Egress and its agent dispatches with List Agent Dispatches, then writes a plain language health note back into the app saying things like nobody is publishing audio, the recording failed to start, or no agent ever joined. Store each note in the database with its room and timestamp so the app can show the latest diagnosis on the room row and keep the history. When the diagnosis reads as broken rather than healthy, the agent also posts the note to a Slack channel using Slack Bot Send a Message, naming the room and what looks wrong.

Favour density and readability over decoration throughout. This screen is watched in real time while sessions are live, so problem rows need to be visually obvious and the moderator controls need to be reachable in one or two clicks from the grid.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentA brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensWake up dormant Keap leads with a researched reasonChat quality review board for LiveChat support leadsCompetitor LinkedIn ad watchlist with a permanent archiveLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsA searchable RFP answer library your bid team drafts from