LiveKit docs › Building Frontends › Overview

---

# Building agent frontends

> Detailed guides to building great frontends for voice and video AI.

## Overview

This section covers the core concepts for building a production-ready agent frontend. Your frontend starts a session, authenticates, and then communicates with the agent through realtime media and data while tracking agent state to drive the UI.

## In this section

| Topic | What it covers | Role in the flow |
| **[Session management](https://docs.livekit.io/frontends/build/sessions.md)** | Creating, starting, and ending agent sessions with the `Session` API. | Entry point. Orchestrates token fetching, room connection, and agent dispatch. |
| **[Authentication](https://docs.livekit.io/frontends/build/authentication.md)** | Generating and managing JWT tokens via `TokenSource` types (sandbox, endpoint, custom, literal). | Provides the credentials that sessions use to connect to a room and dispatch an agent. |
| **[Agent state](https://docs.livekit.io/frontends/build/agent-state.md)** | Reading agent lifecycle states (connecting, listening, thinking, speaking) and state getters. | Drives UI updates so your frontend reflects what the agent is doing at any moment. |
| **[Realtime media and data](https://docs.livekit.io/frontends/build/media-data.md)** | Audio, video, text streams, byte streams, state synchronization, and RPC. | The communication layer between your frontend and the agent during a session. |
| **[Virtual avatars](https://docs.livekit.io/frontends/build/virtual-avatars.md)** | Rendering a visual avatar driven by agent audio output. | Optional. Adds a visual presence to voice agents using a standard video track. |

---

This document was rendered at 2026-06-07T11:32:48.673Z.
For the latest version of this document, see [https://docs.livekit.io/frontends/build.md](https://docs.livekit.io/frontends/build.md).

To explore all LiveKit documentation, see [llms.txt](https://docs.livekit.io/llms.txt).