Skip to content
← All posts

recorded 2026-08-09 · actor Bharat Mabbu · never rewritten

Your memory should travel

Every assistant now has memory, and every one of them has the same quiet catch: the memory belongs to the assistant, not to you. What ChatGPT knows about you does not follow you into Claude. What you taught Gemini last year is a hostage of the Gemini interface. The more useful these memories get, the higher the wall around each one grows — memory compounds, so the lock-in compounds with it.

Smara is a bet on the opposite architecture: memory as a neutral layer that assistants connect to. Connect ChatGPT, Claude, Gemini, and Grok to the same Smara tenant over MCP and they share one memory. Tell Claude you switched teams; Gemini knows at the next question. The demo takes thirty seconds and it lands, because everyone has personally felt the walls.

Traveling memory has to work in both directions. Arriving:you should not start from zero. Export your history from ChatGPT, Claude, or Gemini and import it — in the browser (your raw archive never leaves your machine; parsing happens client-side) or through the CLI. Imports are idempotent on the server: re-upload the same export any number of times and unchanged conversations are skipped while grown ones append only what's new. Every imported memory keeps its original date, so a preference you stated in 2024 is recorded as 2024, and the retrieval engine's recency and decay math treats it honestly. We proved the pipeline on a 794-conversation personal backfill before we let anyone else touch it.

Leaving: one call, GET /v1/export, streams everything out as documented, versioned NDJSON. And we mean everything — not just the facts, but the knowledge graph, the episodic event log, the import registry, shared-pool definitions, and the full revision audit trail, including every edit the nightly dream cycle ever made. We keep it honest with a test: every table in the schema must either be in the export or carry an explicit, written reason for exclusion, or the build fails. When we recently audited it, we found the export had drifted behind the product; now drifting is a compile error.

People sometimes ask why we make leaving easy. Because the alternative poisons everything else: a memory system you cannot exit is a memory system you will rationally hesitate to fill. The entire value of a memory layer comes from users trusting it with the compounding record of their life and work. That trust is only rational if the door is open. We win by being the best place your memory has ever lived — not by being the place it can't leave.