Public beta
Local-first AI memory system and interface
Mneme
One continuous conversation, with every retrieval visible
Mneme is a local-first interface that keeps a Claude conversation continuous beyond the model’s active context window. Recent dialogue stays immediately available, while older exchanges move into searchable memory and return when relevant. After each response, Mneme shows what it retrieved, turning context management from an invisible background process into something users can inspect.
I designed and implemented Mneme end to end, spanning product strategy, interaction and content design, frontend engineering, retrieval, context budgeting and sandboxed execution. The Windows public beta continues to evolve through daily use and direct user feedback.
The scripted demo below is interactive. View the public beta on GitHub ↗
Making context management usable
Existing context-management tools largely treated configuration files, vector databases and command syntax as acceptable parts of the user experience. Mneme’s early versions inherited some of those assumptions and exposed the underlying architecture more directly.
As the system matured and direct user feedback accumulated, I moved recurring tasks into guided settings and a visual command console, translated machine states into natural language, and established defaults that work without configuration. The advanced capabilities remain, but using them no longer requires understanding their implementation.
Emma is the project’s fictional reference user: a UX researcher who is comfortable using technology but does not understand context architecture, nor should she need to. She uses AI to think aloud across her laptop and phone. Her needs provide a consistent test for interface, language, privacy, onboarding and cross-device decisions.
The same approach shapes Mneme’s distribution. I designed the GitHub README as both a landing page and an onboarding surface, explaining the use case, privacy, cost and guided installation before introducing the technical architecture.
Making memory visible and human
Mneme exposes its internal activity through three visual planes. Conversation occupies a quiet, opaque room; structural controls use chunky outlines; and retrieval details appear on frosted glass above them. Claude coral marks interaction and machine activity, while warm alabaster and a closed family of rock greys create a quieter material setting. Source Serif 4 carries conversation and explanation; Fira Code identifies machine states.
Mneme’s mark folds a single continuous line into three geometric variants whose density increases with model complexity. The forms evoke compressed information, brain folds and a sine wave. The processing animation applies the same language to a circuit-like line. Idle is flat, activity sends crawling folds through it, and the circuit breaker flattens the signal to visually disconnect the system.
The backend speaks in message IDs, similarity scores, context tiers and token budgets. I translated that activity into phrases such as “Found memories about lentil soup, New Year’s cooking and comfort patterns” and “Remembered your history with cooking.” Each message also receives a short generated description. These descriptions let the retrieval float summarise several complete memories in one readable sentence and provide compact metadata when the AI uses Python to inspect its database.
A layered memory system
Recent conversation remains available verbatim. As messages leave the active window, they move into searchable memory and eventually a deeper archive. Semantic retrieval returns complete messages, ranked using meaning, importance, recency and connections to recognised people and topics. Separate profiles keep their histories, memory and settings isolated.
A background agent links messages to people and topics, scores their importance and maintains evolving entity summaries. The AI manages narrative concepts directly, while persistent notes, recent files and a rolling timeline provide other forms of continuity. A model-aware budget determines what fits into each request. Importance gradually decays or strengthens through use, while fixed monthly entity snapshots feed an evolving long-term summary.
Memory storage and semantic search run locally using SQLite and a bundled embedding model. Requests travel directly to Anthropic, with no Mneme service between them. When semantic retrieval is insufficient, Claude can inspect its database, files and artifacts by writing read-only Python inside a restricted Windows sandbox, then continue its response using the results.
Scripted demo