Skip to main content
Omi has three planes: a device that captures audio, apps (mobile and desktop) that manage capture and show results, and a backend that transcribes, structures, stores, and serves the data. Everything in between is code you can read in this repository.

The life of a conversation

  1. Capture. The wearable streams audio to the phone app over Bluetooth (the protocol is specified in BLE Protocol). Devices with storage can also record standalone and sync later.
  2. Transcription. The app streams audio to the backend over a WebSocket; transcript segments flow back to the app in near real time. See Capture & transcription.
  3. Structuring. When a conversation ends, the backend processes it: title, overview, category, action items, events, and extracted memories (durable facts about you). See Conversations & memories.
  4. Serving. Everything lands behind one account-scoped surface: the apps, the Developer API, the MCP server, and the CLI. Apps you install can react to each stage via webhooks.

Where things live

Details that change often, such as provider configurations, internal runbooks, and operational checklists, live next to the code (for example in backend/docs/), not on this site. Docs here describe the shape of the system; the repo is the source of truth for specifics.

Capture & transcription

From microphone to transcript segments

Conversations & memories

The data model behind your history

Chat

How Omi answers questions with your data

Privacy & data handling

What is stored, where, and what you control