Otta
Private chat for two, direct from Mac to Mac. No server holds the messages and no account holds the people, and Lucy, a built-in AI companion, remembers what the two of you said.

A chat with nothing in the middle.
Two Macs find each other and talk directly, encrypted end to end. Messages, voice notes, images and shared notes travel between them and stay in sync, with no server deciding what happened first.
Then a third voice: Lucy, an AI you call in with @lucy, who answers from a memory of your whole conversation, not just the last few lines.



Memory without a server is a different kind of memory.
Lucy cannot look anything up on a server, so her memory lives in plain files on your two Macs. She searches it by meaning, by words and by date, and in a quiet pass she condenses conversations into facts, newer ones replacing older.
Calling her uses your own AI key, kept in the Mac's Keychain. Without one the chat still works; Lucy just sleeps.


The architecture was locked before the first message: two peers, a shared document, and a memory that lives on the machines.
| Stack | Iroh, Loro, Tauri 2, React, SQLite. Peer discovery and transport, CRDT sync, the Mac shell. |
|---|---|
| Model | Claude, through the user's own key. A local model is gated behind a written benchmark for v0.4. |
| Team | The two of us, with AI agents for the routine code. Every release passes written evaluations, and Lucy has her own test bench. |
| Site | otta.chat. Download, release notes, the memory design in the open. |