OpenAI Open‑Sources a Real‑Time Voice‑Driven Stand‑up Meeting Demo

OpenAI has open‑sourced the openai‑realtime‑meeting‑assistant project, a Go‑based demo that lets multiple users control a Kanban board via voice using Pion WebRTC, Opus, WebSocket and the OpenAI Realtime API with function calling, and provides full setup and usage instructions.

Old Zhang's AI Learning
Old Zhang's AI Learning
Old Zhang's AI Learning
OpenAI Open‑Sources a Real‑Time Voice‑Driven Stand‑up Meeting Demo

Overview

OpenAI released openai-realtime-meeting-assistant , a demo that lets multiple participants control a Kanban board by speaking into their microphones.

Technical stack

Backend : Go

WebRTC : Pion WebRTC library

Audio codec : Opus

WebSocket : Gorilla

AI integration : OpenAI Realtime API (WebRTC integration)

Kanban update trigger : function calling

Workflow

Multiple users join the same WebRTC room.

The server mixes all participants' audio streams.

The mixed audio is streamed in real time to an OpenAI Realtime peer.

The model interprets the speech and calls a function that modifies the Kanban board.

The board changes are broadcast back to all room participants.

Running the demo

Prerequisites: Go 1.24+ and the Opus library (installable via pkg-config).

# 1. Obtain an API key
export OPENAI_API_KEY=<your_api_key>

# 2. Clone the repository
git clone https://github.com/openai/openai-realtime-meeting-assistant.git

# 3. Install macOS dependencies
brew install opus pkg-config

# 4. Run the demo
go run .

The service listens on http://localhost:3000 by default; change the port with go run . -addr :8080. The program reads only environment variables and does not load a .env file.

Realtime Meeting flow
Realtime Meeting flow

Demo interaction

After starting the server, the board is pre‑populated with WebRTC‑related cards. Open a browser, click Join room , grant camera and microphone access, and speak natural‑language commands such as:

"I started the ICE restart handling ticket"

"The DTLS cleanup work is blocked on a transport shutdown issue"

"We shipped the RTP HEVC packetizer"

"Create a ticket to add subscription controls for simulcast forwarding"

"Add the bandwidth tag to the simulcast card"

"Delete the packet retransmission buffer ticket"

The board updates automatically and all participants see the changes in sync. Background noise is mixed into the audio stream and may be interpreted as commands, so using headphones or lowering volume is recommended.

Why the demo is significant

1. Multi‑user Realtime API – Earlier Realtime demos were one‑to‑one; this project mixes several audio streams server‑side and feeds a single stream to the model, demonstrating a path toward meeting‑scale AI integration.

2. Function calling inside Realtime – Voice input can trigger structured actions via function calls, illustrating the core pattern of a voice agent.

3. Full‑stack Go + WebRTC + Realtime code is open – The repository provides glue code for Pion, Opus, and the Realtime API, allowing developers to adapt the example for domain‑specific agents.

Target audience

Developers building meeting‑room bots (replace the Kanban board with custom domain objects and add authentication).

Engineers interested in voice‑controlled tools (study the function‑calling integration).

Practitioners learning WebRTC (a rare example that combines mixing, forwarding, and AI).

Limitations

No built‑in authentication; anyone with the URL can join the room.

Requires manual installation of Go, Opus, and configuration of the API key.

Does not include language routing for Chinese or multi‑language scenarios.

Conclusion

The open‑source release serves as a hands‑on tutorial that demonstrates a complete pipeline of multi‑user voice, the OpenAI Realtime API, and function calling, providing a modifiable example that replaces many abstract documents.

Project URL: https://github.com/openai/openai-realtime-meeting-assistant

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

GoOpenAIFunction CallingWebRTCKanbanRealtime APIVoice Agent
Old Zhang's AI Learning
Written by

Old Zhang's AI Learning

AI practitioner specializing in large-model evaluation and on-premise deployment, agents, AI programming, Vibe Coding, general AI, and broader tech trends, with daily original technical articles.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.