Illustration of what openai-realtime-meeting-assistant does: Voice-controlled Kanban board for standups, built on OpenAI's Realtime API in Go

openai /

openai-realtime-meeting-assistant

Voice-controlled Kanban board for standups, built on OpenAI's Realtime API in Go

Standups produce updates like "I started the ICE restart ticket" that someone then has to type into a board. This demo lets the board listen instead. People join a shared room from the browser, speak naturally, and the cards change on everyone's screen.

The Go server uses Pion WebRTC to receive each participant's audio and mixes it into one stream. It sends that stream to an OpenAI Realtime peer. The model is given instructions and a set of tools, and it calls those tools (function calling) to create, move, tag, edit or delete tickets. The server then broadcasts the new board state to the room.

It is a demo, not a product. There is no authentication, so anyone who can reach the URL can join. Background audio can also be misread as board updates, so the README suggests headphones. The instructions, tools and starting cards live in one file, kanban.go, which makes it easy to read and adapt.

What it does

  • Shared multi-user room

    Several participants join the same WebRTC room from different tabs or devices. Their audio is mixed and sent to the assistant, and board changes are broadcast to everyone.

  • Voice-driven board operations

    The assistant can create tickets, move them between Backlog, In Progress, Blocked and Done, add tags, update titles or notes, and delete tickets. It is told to ignore filler and wrap-up phrases.

  • Function calling with Realtime

    Board updates come from tool calls made by the Realtime model. The tool definitions and instructions are in kanban.go.

  • Easy to customize

    You can change the starting cards, the model instructions, the exposed tools, the model (via OPENAI_REALTIME_MODEL) and the port. The browser UI is in index.html.

What you could build

  • Study how to connect WebRTC audio to the OpenAI Realtime API from a Go server.
  • Adapt the tool definitions to let a voice assistant edit a different shared app, such as a to-do list or checklist.
  • Run a team standup where spoken updates move cards on a shared board.
  • Experiment with prompt instructions that decide when a voice agent should act and when it should stay quiet.

Get started

Install Go 1.24+ plus the Opus library and pkg-config, set OPENAI_API_KEY in your shell, then run the server and open http://localhost:3000. Click Join room, allow mic and camera, and speak updates. Use headphones to avoid echo.

git clone https://github.com/openai/openai-realtime-meeting-assistant.git
brew install opus pkg-config
go run .

Commands are copied from the project's README. Read it on GitHub for the full setup.

More in Productivity & personal

    ↑↓ to move, Enter to open, Esc to close