Voice and realtime

Voice agents, realtime speech-to-speech apps and their web, phone and native clients.

agent-starter-react leads with 51, ahead of agent-starter-python (50) and agent-starter-node (50). 16 projects ranked by score.

The ranking

Voice and realtime: full ranking
RankProjectAdoptionFreshnessMaintenanceEasy to runAgent-readyScore
1agent-starter-reactNext.js voice assistant frontend for LiveKit Agents948 stars, MIT, last commit Sep 2026561003233051 out of 100
2agent-starter-pythonPython voice agent on LiveKit Agents with turn detection and simulations264 stars, MIT, last commit Oct 20262710024338550 out of 100
3agent-starter-nodeNode.js voice agent on LiveKit Agents with turn detection and simulations114 stars, MIT, last commit Oct 20262010036338550 out of 100
#4voice-ui-kitReact components and templates for Pipecat voice agent frontends419 stars, BSD-2-Clause, last commit Oct 2026411006703045 out of 100
#5pipecat-examplesRunnable Pipecat voice agent examples for phone, web and deployment395 stars, BSD-2-Clause, last commit Sep 202637100610041 out of 100
#6agent-starter-androidKotlin and Jetpack Compose voice assistant client for LiveKit Agents104 stars, MIT, last commit Aug 2026161002733041 out of 100
#7agent-starter-swiftSwiftUI voice agent client for iOS, macOS and visionOS on LiveKit96 stars, MIT, last commit Sep 2026121002833040 out of 100
#8agent-starter-flutterFlutter voice agent client for iOS, Android, macOS and web93 stars, MIT, last commit Sep 202681002833040 out of 100
#9agent-starter-react-nativeExpo React Native voice assistant client for LiveKit Agents84 stars, MIT, last commit Sep 202611001733036 out of 100
#10agent-starter-embedDeprecated Next.js embed widget for a LiveKit voice agent85 stars, MIT, last commit Sep 20265100733035 out of 100
#11examplesPrompt-generated ElevenLabs examples for speech, music and voice agents629 stars, MIT, last commit Oct 20265170200031 out of 100
#12openai-realtime-agentsNext.js demo of multi-agent voice flows on the OpenAI Realtime API7k stars, MIT, last commit Jan 2026773200025 out of 100
#13openai-realtime-meeting-assistantVoice-operated shared Kanban board using the OpenAI Realtime API273 stars, MIT, last commit May 2026317700025 out of 100
#14openai-realtime-solar-systemNext.js demo: talk to a 3D solar system via OpenAI Realtime515 stars, MIT, last commit Mar 2026475200023 out of 100
#15openai-fmNext.js demo app for trying OpenAI text-to-speech models Live demo ↗ (opens in a new tab)2.9k stars, MIT, last commit Dec 2025702080022 out of 100
#16live-api-web-consoleReact console for streaming audio and video to the Gemini Live API2.6k stars, Apache-2.0, last commit Oct 202567100016 out of 100

Momentum, Verified build, Docs and Privacy are not measured yet; their weight goes to the signals shown. A dash means the signal is not scored for that kind of project. Hover a number for its rating in words.

Reviews

151 out of 100

agent-starter-react

Next.js voice assistant frontend for LiveKit Agents

948 stars, MIT, last commit Sep 2026

Next.js app on LiveKit Agents UI components and the LiveKit JS SDK: welcome and session views, chat transcript, media tiles, camera, screen share, avatar rendering and five audio visualizer styles. A route at app/api/token issues LiveKit tokens from your project credentials. Frontend only; pair it with a LiveKit agent such as agent-starter-python or agent-starter-node.

Strengths

  • Transcript, media tiles, avatar video and visualizers already composed
  • Agents UI components are installed into components/ and editable in place
  • Token route included; development token server also supported
  • Matching Android, Swift, Flutter and React Native starters exist

Weaknesses

  • Needs a separate LiveKit agent and a LiveKit Cloud or self-hosted server
  • Token route has no authentication; add one before production
  • No tests or Docker
  • TypeScript
  • Needs LiveKit Cloud or self-hosted LiveKit server, a LiveKit agent
  • GitHub template
  • env example file
250 out of 100

agent-starter-python

Python voice agent on LiveKit Agents with turn detection and simulations

264 stars, MIT, last commit Oct 2026

uv-managed Python voice assistant on LiveKit Agents using LiveKit Inference for STT, LLM (default Gemma 4 31B) and TTS (default Fish Audio S2.1 Pro), with the LiveKit turn detector, adaptive interruption handling and noise cancellation. Ships a Dockerfile for LiveKit Cloud, an AGENTS.md with LiveKit skills, and scenarios.yaml simulations run in CI on merges to main. Backend only; pair with a LiveKit frontend starter.

Strengths

  • Turn detector, adaptive interruption handling and noise cancellation preconfigured
  • Conversation simulations in scenarios.yaml run in CI on merge to main
  • Dockerfile and lk CLI flow for LiveKit Cloud deployment
  • AGENTS.md and LiveKit skills for Claude Code, Cursor and Codex

Weaknesses

  • Defaults rely on LiveKit Inference and Cloud noise cancellation; self-hosting needs plugin swaps
  • CI simulations use real inference and need LiveKit secrets
  • uv.lock is not tracked; commit it yourself
  • No frontend; a separate client starter is required
  • Python, LiveKit Inference (OpenAI, Cartesia, Deepgram and others), LiveKit realtime model plugins
  • Needs LiveKit Cloud (or self-hosted LiveKit plus model plugins)
  • GitHub template
  • Docker
  • env example file
350 out of 100

agent-starter-node

Node.js voice agent on LiveKit Agents with turn detection and simulations

114 stars, MIT, last commit Oct 2026

pnpm TypeScript voice assistant on LiveKit Agents using LiveKit Inference for STT, LLM (default Gemma 4 31B) and TTS (default Fish Audio S2.1 Pro), with the LiveKit turn detector, adaptive interruption handling and noise cancellation. Ships a Dockerfile for LiveKit Cloud, an AGENTS.md with LiveKit skills, and scenarios.yaml simulations run in CI on merge to main. Backend only; pair with a LiveKit frontend starter.

Strengths

  • Turn detector, adaptive interruption handling and noise cancellation preconfigured
  • Conversation simulations in scenarios.yaml run in CI on merge to main
  • Dockerfile and lk CLI flow for LiveKit Cloud deployment
  • AGENTS.md and LiveKit skills for Claude Code, Cursor and Codex

Weaknesses

  • Defaults rely on LiveKit Inference and Cloud noise cancellation; self-hosting needs plugin swaps
  • CI simulations use real inference and need LiveKit secrets
  • pnpm-lock.yaml is not tracked; commit it yourself
  • No frontend; a separate client starter is required
  • TypeScript, LiveKit Inference (OpenAI, Cartesia, Deepgram and others), LiveKit realtime model plugins
  • Needs LiveKit Cloud (or self-hosted LiveKit plus model plugins)
  • GitHub template
  • Docker
  • env example file
#445 out of 100

voice-ui-kit

React components and templates for Pipecat voice agent frontends

419 stars, BSD-2-Clause, last commit Oct 2026

pnpm workspace publishing @pipecat-ai/voice-ui-kit: React components (connect button, control bar, voice visualizer, audio controls), hooks, a ConsoleTemplate debug UI and a ThemeProvider on Tailwind 4. Works over the Pipecat Daily or SmallWebRTC transports; examples cover the console template, custom components, Tailwind and Vite. For teams building a browser frontend for a Pipecat bot; the bot is separate.

Strengths

  • Drop-in ConsoleTemplate for testing and benchmarking a Pipecat bot
  • Daily and SmallWebRTC transports supported
  • Tailwind 4 theme via CSS variables; Storybook included
  • Four example apps: console, components, Tailwind, Vite

Weaknesses

  • Library plus examples, not a deployable app; you assemble the page
  • Requires a running Pipecat server exposing /api/offer or a Daily room
  • No auth or persistence
  • TypeScript
  • Needs Pipecat bot server, Daily account (optional transport)
#541 out of 100

pipecat-examples

Runnable Pipecat voice agent examples for phone, web and deployment

395 stars, BSD-2-Clause, last commit Sep 2026

Pipecat apps in Python 3.11+, one directory each: phone bots for Twilio, Telnyx, Plivo, Exotel and Daily SIP, a simple-chatbot with React, Swift, Kotlin and React Native clients, websocket and p2p WebRTC transports, Gemini Live, local smart-turn, OpenTelemetry tracing and deploy recipes for Pipecat Cloud, Fly.io, Modal and Cerebrium. For teams on Pipecat who want a working pattern to copy.

Strengths

  • Telephony examples for Twilio, Telnyx, Plivo, Exotel and Daily SIP
  • simple-chatbot ships React, Swift, Kotlin and React Native clients
  • Deployment and OpenTelemetry (Langfuse, LangSmith, Jaeger) examples

Weaknesses

  • Each example has its own setup; no single app to fork
  • Needs API keys for STT, LLM and TTS services (OpenAI, Deepgram, Cartesia)
  • Beginner examples live in the main Pipecat repo, not here
  • Issues are tracked in the main Pipecat repo
  • Python, Pipecat service plugins (OpenAI, Deepgram, Cartesia, Gemini Live)
  • Needs OpenAI, Deepgram, Cartesia or similar API keys, Daily or a telephony provider for phone examples
  • Docker
#641 out of 100

agent-starter-android

Kotlin and Jetpack Compose voice assistant client for LiveKit Agents

104 stars, MIT, last commit Aug 2026

Android Studio project on the LiveKit Android SDK giving you a simple voice interface to a LiveKit agent, scaffolded with lk app create. It connects to the public LiveKit homepage agent by default; to reach your own agent you set a development token server id in TokenExt.kt. Client only: the agent and a production token server are yours to build.

Strengths

  • Kotlin and Jetpack Compose on the official LiveKit Android SDK
  • Works immediately against the public LiveKit homepage agent
  • Pairs with the Python and Node agent starters

Weaknesses

  • Token server id is hardcoded in TokenExt.kt; production token flow is yours
  • README does not document video, text input or avatar support
  • No tests
  • Kotlin
  • Needs LiveKit Cloud project, a LiveKit agent, token server
  • GitHub template
  • env example file
#740 out of 100

agent-starter-swift

SwiftUI voice agent client for iOS, macOS and visionOS on LiveKit

96 stars, MIT, last commit Sep 2026

Xcode project on the LiveKit Swift SDK with voice, text, camera and screen-share input, transcriptions and avatar rendering, built on the SDK's Session and LocalMedia observables with preconnect audio buffering on by default. Targets iOS, iPadOS, macOS and visionOS. Set AgentToConnect.current to a development token server id for your own agent, then swap in an EndpointTokenSource for production.

Strengths

  • Voice, text, video and screen-share input toggled per feature in code
  • Preconnect audio buffer makes connects feel instant
  • Renders the agent's avatar video automatically when published
  • One codebase for iOS, iPadOS, macOS and visionOS

Weaknesses

  • Video and screen share need a physical device, not the Simulator
  • Production token generation is left to you
  • No tests
  • App Store archive warns about missing LiveKitWebRTC dSYMs
  • Swift
  • Needs LiveKit Cloud project, a LiveKit agent, token server
  • GitHub template
#840 out of 100

agent-starter-flutter

Flutter voice agent client for iOS, Android, macOS and web

93 stars, MIT, last commit Sep 2026

Flutter project on the LiveKit Flutter SDK with voice, text and optional camera or screen-share input, transcriptions and agent video rendering, built around livekit_client.Session with preconnect audio buffering. Targets iOS, macOS, Android and web. Set LIVEKIT_TOKEN_SERVER_ID in assets/.env for development, then swap in an EndpointTokenSource in app_ctrl.dart before shipping.

Strengths

  • Covers iOS, macOS, Android and web from one Flutter codebase
  • Voice, text, video and screen share input wired
  • Falls back to an audio visualizer when the agent publishes no video
  • Test suite present

Weaknesses

  • Development token server lets any client request any permissions
  • Production token generation is yours to implement
  • Video input may need a physical device
  • Client only; needs a separate LiveKit agent
  • Dart
  • Needs LiveKit Cloud project, a LiveKit agent, token server
  • GitHub template
  • env example file
#936 out of 100

agent-starter-react-native

Expo React Native voice assistant client for LiveKit Agents

84 stars, MIT, last commit Sep 2026

Expo project on the LiveKit React Native SDK and its Expo config plugin, run on Android and iOS with npx expo run, giving a simple voice interface to a LiveKit agent. It connects to the public LiveKit homepage agent by default; set tokenServerId in hooks/useConnection.tsx for your own agent, then switch to TokenSource.endpoint before shipping. Client only.

Strengths

  • Expo plugin handles the native LiveKit setup for iOS and Android
  • Token source is one line to swap for a real endpoint
  • Pairs with the Python and Node agent starters

Weaknesses

  • README documents voice only; no video or text input described
  • Development token server lets any client request any permissions
  • No .env.example; configuration is edited in code
  • TypeScript
  • Needs LiveKit Cloud project, a LiveKit agent, token server
  • GitHub template
#1035 out of 100

agent-starter-embed

Deprecated Next.js embed widget for a LiveKit voice agent

85 stars, MIT, last commit Sep 2026

Next.js project that builds an embed-popup.js script and an iframe page so a website can open a LiveKit voice agent as a popup, with voice, transcriptions, camera, screen share, avatar support and theming set in app-config.ts. A connection-details route issues tokens from your LiveKit credentials. Marked deprecated in favor of LiveKit Cloud's built-in embed; fork only if you need to own the widget code.

Strengths

  • Generates a copy-paste embed snippet from the welcome page
  • Popup and iframe variants with a local /test/popup page
  • Feature flags for chat, video, screen share and preconnect buffer

Weaknesses

  • Deprecated by LiveKit; new projects are pointed to Cloud embeds
  • Needs a separate LiveKit agent and project credentials
  • Embed script must be rebuilt by hand after code changes
  • No tests
  • TypeScript
  • Needs LiveKit Cloud project, a LiveKit agent
  • GitHub template
  • env example file
#1131 out of 100

examples

Prompt-generated ElevenLabs examples for speech, music and voice agents

629 stars, MIT, last commit Oct 2026

Monorepo of small runnable ElevenLabs examples, each generated from a PROMPT.md by the Cursor CLI onto shared Expo, Next.js, Python and TypeScript templates. Covers text-to-speech, Scribe v2 speech-to-text (including realtime with VAD), music, sound effects, voice isolation, dubbing and a Next.js voice agent on the React Agents SDK. For developers who want one starting point per ElevenLabs feature.

Strengths

  • One runnable example per ElevenLabs feature, each with its own README
  • Next.js realtime voice agent and guardrail_triggered event demo included
  • Shared Expo, Next.js, Python and TypeScript base templates

Weaknesses

  • Examples are LLM-generated from prompts; review the code before reuse
  • Regenerating examples requires the Cursor CLI
  • ElevenLabs only; needs an ElevenLabs API key
  • Legacy examples/ folder is deprecated but still present
  • TypeScript, ElevenLabs JS SDK, ElevenLabs Python SDK, ElevenLabs React Agents SDK
  • Needs ElevenLabs API key
#1225 out of 100

openai-realtime-agents

Next.js demo of multi-agent voice flows on the OpenAI Realtime API

7k stars, MIT, last commit Jan 2026

Next.js app that talks to the OpenAI Realtime API over WebRTC via the OpenAI Agents SDK, with an ephemeral-token route and a transcript plus event-log UI. Ships two patterns to copy: chat-supervisor (a realtime agent defers tool calls to gpt-4.1) and sequential handoffs between specialist agents, plus output guardrails. For teams prototyping OpenAI voice agents; no auth, DB or tests.

Strengths

  • Chat-supervisor and handoff patterns with a worked customer-service flow
  • WebRTC transport with ephemeral tokens; the API key stays server-side
  • Transcript and raw client/server event log for debugging sessions
  • Output guardrail check on every assistant message

Weaknesses

  • OpenAI only; no provider abstraction
  • No auth, database, tests or Docker
  • Demo scope; maintainers decline PRs beyond the core patterns
  • Last commit 2026-01
  • TypeScript, OpenAI Realtime API, OpenAI Agents SDK (JS)
  • Needs OpenAI API key
  • env example file
#1325 out of 100

openai-realtime-meeting-assistant

Voice-operated shared Kanban board using the OpenAI Realtime API

273 stars, MIT, last commit May 2026

A Go server that hosts a WebRTC room (Pion), mixes participant audio, and streams it to an OpenAI Realtime peer. The model uses function calling to create, move, tag, edit and delete Kanban cards, and changes are broadcast to everyone in the room. Instructions, tools and seed cards live in kanban.go.

Strengths

  • Small Go codebase; instructions, tools and seed cards are all in kanban.go
  • Multiple participants share one room and one live board
  • Realtime model overridable via OPENAI_REALTIME_MODEL (default gpt-realtime-2)
  • MIT license

Weaknesses

  • No authentication or access control; anyone with the URL can join
  • Requires an OpenAI API key; no local or other model providers
  • Background audio can be misread as board updates; headphones advised
  • No Docker setup; needs Go 1.24+ and the Opus library via pkg-config
  • Go, gpt-realtime-2 (default, configurable)
  • Needs OpenAI Realtime API, Go 1.24+, Opus library, pkg-config
#1423 out of 100

openai-realtime-solar-system

Next.js demo: talk to a 3D solar system via OpenAI Realtime

515 stars, MIT, last commit Mar 2026

A Next.js app that connects the browser to the OpenAI Realtime API over WebRTC and lets you control a Spline 3D solar system by voice. The model calls functions to focus planets, show moons, draw bar or pie charts, fetch the ISS position and switch to an orbit view. Tools, instructions and voice are defined in lib/config.ts, and the scene URL in components/scene.tsx.

Strengths

  • Working example of Realtime API function calls driving UI and Spline animations
  • Small codebase: tools and prompt in lib/config.ts, scene hooks in components/scene.tsx
  • MIT license, runs with npm install and an OPENAI_API_KEY
  • Planets also respond to clicks and keyboard shortcuts, not only voice

Weaknesses

  • Requires an OpenAI API key; no other model providers supported
  • Demo, not a template: no auth, persistence or deployment config
  • Echo or background noise can interrupt the model, per the README
  • Custom scenes need Spline event setup; first scene load is heavy
  • TypeScript, OpenAI Realtime
  • Needs OpenAI Realtime API, Spline
#1522 out of 100

openai-fm

Next.js demo app for trying OpenAI text-to-speech models

Live demo ↗ (opens in a new tab)2.9k stars, MIT, last commit Dec 2025

OpenAI.fm is the source for the openai.fm demo, a web interface for generating speech through the OpenAI Speech API. It is a Next.js app that needs an OpenAI API key; an optional Postgres database enables a sharing feature. It is a demo reference rather than a general-purpose starter.

Strengths

  • Official OpenAI reference for calling the Speech API from Next.js
  • Runs with only an API key; no database needed for core use
  • MIT license
  • Live hosted demo at openai.fm

Weaknesses

  • Tied to the OpenAI API; no other TTS providers
  • No Dockerfile or compose file in the README
  • Sharing feature requires a hosted Postgres database
  • Maintainers say they may not review all issues or PRs
  • TypeScript, OpenAI text-to-speech models
  • Needs OpenAI API, Postgres (optional, sharing only)
  • env example file
#1616 out of 100

live-api-web-console

React console for streaming audio and video to the Gemini Live API

2.6k stars, Apache-2.0, last commit Oct 2025

Create React App project that opens a websocket to the Gemini Live API and wires mic, webcam and screen-capture input, streamed audio playback and an event log. Includes an event-emitting websocket client, an audio layer and a tool-call example rendering Vega charts. For developers starting a browser client on Gemini Live; the API key sits in the frontend .env, so add a proxy before shipping.

Strengths

  • Websocket client, audio in/out and log view ready to reuse
  • Mic, webcam and screen capture wired as model input
  • Tool-call example with Google Search grounding and Vega rendering

Weaknesses

  • Gemini API key is read from the frontend .env; no server proxy
  • Built on Create React App, which is no longer maintained
  • Labeled an experiment, not an official Google product
  • Gemini only; last commit 2025-10
  • TypeScript, Gemini Live API (websocket)
  • Needs Gemini API key
  • ⚠️ .env file committed

Written from each project's README and checked facts. Spot something wrong? Report it on GitHub (opens in a new tab).