Skip to content

Quick start overview

OtterVoice is a session orchestration SDK, not a model gateway. You pick a runtime, inject providers, and listen to session events.

Scenario Example Command
Minimal loop (no mic / no key) examples/node-cli bun run demo
Node + live LLM examples/node-openrouter bun run examples/node-openrouter/index.ts
Browser full-duplex examples/web cd examples/web && bun run start
Expo app examples/react-native-expo cd examples/react-native-expo && bun run start
Short-lived token gateway examples/token-broker bun run examples/token-broker/server.ts

Repo: github.com/bugkiwi/OtterVoice

  1. Validate UI / captions / state with mocks.
  2. Swap in the platform runtime (Web / Expo / Node).
  3. Mint short-lived credentials via the token broker — never ship long-lived keys to clients.
Terminal window
bun add @ottervoice/core
# Web: bun add @ottervoice/runtime-web
# Expo: bun add @ottervoice/runtime-react-native
# Node: bun add @ottervoice/runtime-node
# Providers: @ottervoice/provider-deepgram | elevenlabs | openrouter | azure-speech