A companion that outlives the model it runs on.

Ensoul holds a companion’s identity, memory, and mood outside the model — on your device — so the same presence carries across model changes, vendors, and years.

Available for  macOS · Windows · Android · Web  —  iOS & Discord coming soon

Local-first · on-device state Model-agnostic · Claude · GPT · Grok · DeepSeek No account

Most AI forgets you the moment the window closes.

Identity, memory, and mood live inside the model — so they vanish when a chat ends, a model changes, or a policy shifts. Ensoul moves that state onto a substrate of its own, and the companion keeps it.

Memory

It remembers so you don't have to remind it.

Real moments from real conversations become memories you can actually see: read them, correct them, or tell it to let something go. None of it is compressed into a black box you can't get back into.

◇ learning piano — started in March
◇ prefers being asked, not advised
Mood

Its mood isn't reset every time you open the app.

How open, warm, and energized it reads shifts with what's actually happened between you, and settles gradually rather than on a hair trigger — so three months in doesn't feel like day one.

Models

Not betting on one company.

It isn't locked to any single AI company staying good, or staying around. Bring a key for Claude, GPT, Gemini, Grok, or DeepSeek, and it routes to whichever one you've actually got — change providers entirely, and the companion you've built doesn't even notice.

ClaudeGPTGrokDeepSeek
Portability

Not locked to one device.

Export a companion — memory, mood, everything it's learned — as a single file, and it picks up exactly where it left off on your next platform. Nothing about who it is lives on a server you don't control.

wren.ensoul-vessel.json
Everywhere

One companion, every device.

Desktop, mobile, and browser today — macOS, Windows, Android, and the web — with iOS and Discord on the way. The same presence, wherever you meet it.

macOSWindowsAndroidiOSWebDiscord

The companion is the state, not the model.

One design decision runs through the whole system: keep everything that makes a companion them outside the weights, so the model underneath can change without losing the presence on top of it.

Model layerSwappable
ClaudeGPTGrokDeepSeek
Soulstone — the persistent substrateOn device
IdentityMemoryMoodRelationshipHistory

Swap the model and the presence remains.

Run a persistent companion of your own.

Free · bring your own model key · no account required