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
Section titled “Scenario → example”| 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
Recommended path
Section titled “Recommended path”- Validate UI / captions / state with mocks.
- Swap in the platform runtime (Web / Expo / Node).
- Mint short-lived credentials via the token broker — never ship long-lived keys to clients.
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