Skip to main content
LiveKit’s VideoConference component already provides a participant grid, focus layout, pagination, device controls, screen sharing, basic chat, and connection feedback. Use it directly rather than rebuilding those behaviors.

Collect device choices

Render PreJoin before creating the room:
Create the API session after the user confirms their devices. This avoids starting a billable realtime session while the user is still deciding whether to join.

Render the conference

Keep LiveKit’s component stylesheet imported once in your application. You can override its design tokens or replace individual LiveKit layout components as your product evolves.

End the API session

Leaving a LiveKit room and ending an API session are separate operations. When the user explicitly ends the experience, call an authenticated server route that invokes:
Do not automatically end the API session for every transient disconnect; the browser may reconnect after a short network interruption.