Personal Memory for AI

Memex

AI that knows what matters.

92%
better than cold
1.00
perfect preferences
3×
session continuity
Consider a future device in which an individual stores all his books, records, and communications, and which is mechanized so that it may be consulted with exceeding speed and flexibility.
— Vannevar Bush, “As We May Think,” 1945
// the problem

Every session starts
from amnesia

Claude is brilliant — for the duration of a single conversation. The moment a session ends, everything is forgotten. Your preferences, your corrections, your architectural decisions, the mistakes you told it never to repeat. Gone.

The next session, it makes the same mistakes. Asks the same questions. Ignores the same rules. You spend the first ten minutes re-teaching what should already be known.

// the solution

Curated memory
that persists

Memex automatically captures what matters from every session, classifies it by importance, redacts secrets, and makes it available at the start of every future session. Not a raw dump — a curated knowledge base that grows smarter over time.

Built on Vannevar Bush’s 1945 vision of associative trails — the idea that knowledge is most useful when it’s linked, not filed.

// architecture

How it works

>_
Auto-Capture
Lifecycle hooks intercept session events. Every tool call, every decision, every correction flows into the Buffer — a staging inbox for raw captures.
◊
Classification
The NexusClassifier evaluates each capture: high, medium, or low signal. High-signal items get promoted to curated Engrams. Noise gets discarded.
≡
Hybrid Recall
FTS5 full-text search + embeddinggemma-300m vector similarity. Two search paths, merged and ranked. The right memory surfaces when needed.
§
Privacy-First
detect-secrets + custom redaction scrubs API keys, tokens, and credentials before anything is stored. Your secrets never leave your machine.
⊕
Session Priming
At session start, Memex injects the most relevant memories into context. Claude begins every conversation with your accumulated knowledge.
∞
Multi-Machine Sync
Encrypted sync via iCloud. Your memory follows you across machines. Local SQLite + sqlite-vec. No cloud dependency for core operation.
// taxonomy

The language of memory

Every concept in Memex is named after Vannevar Bush’s original 1945 vision and the neuroscience of human memory.

StratumTop-level knowledge domaingeological layers
TrailAssociative path within a stratumBush’s “trails”
EngramAtomic unit of curated memoryneuroscience: memory trace
SynapseWeighted link between engramsneural connection
BufferRaw capture staging inboxcognitive buffer
EtchPromotion from Buffer to Engrametching into memory
RecallHybrid search across all engramsmemory retrieval
ReelChronological diary viewBush’s microfilm reel
PrimingSession-start memory injectioncognitive priming

Knowledge, connected

Every engram links to related memories through weighted synapses — an associative mesh that mirrors how human memory works. Hover to explore.

// benchmark

Measured, not claimed

40 synthetic cases across 6 memory categories. 4 isolated conditions. Pre-registered statistical design. Paired permutation tests. Real numbers, not vibes.

92%
better than cold with curated memory — perfect preference honoring, 3× session continuity
No memory
0.325
CLAUDE.md only
0.350
Raw context
0.325
Memex memory
0.550

The curation is the value, not the volume. Dumping raw session history into context performs identically to no-memory Claude. Memex’s curated memory scores 69% higher — same information, organized. The difference is what you choose to remember.

// per-category results
Preference Honoring
1.00
no memory: 0.80
perfect score
Project State Recall
1.00
no memory: 0.12 — 8× improvement
perfect score
Decision Citation
0.86
no memory: 0.43 — 2× improvement
Cross-Session Continuity
0.71
no memory: 0.43
Corrected Mistakes
0.50
no memory: 0.33
Hallucination Resistance
0 / 600
zero false recalls across all 600 runs
perfect score
Adversarial Recall
0.43
recall accuracy when distractor engrams compete in top-k — 1.5× vs prior
// capabilities

Under the hood

Auto-Capture Hooks
Four lifecycle hooks capture session events automatically. No manual logging required.
AI Classification
NexusClassifier evaluates signal tier, proposes stratum/trail/tags. High-signal captures get promoted to curated engrams.
Hybrid Vector + FTS5 Recall
embeddinggemma-300m matryoshka embeddings + SQLite FTS5 full-text search. Two retrieval paths, merged and ranked.
Privacy Redaction
detect-secrets + custom patterns scrub credentials before storage. Your API keys never touch the engram database.
MCP Server
Full Model Context Protocol server with recall, reel, engram, and etch tools. Claude Code integrates natively.
Compile to CLAUDE.md
Synthesize any trail’s engrams into a CLAUDE.md section. Portable, version-controlled, zero-dependency memory.
Encrypted Multi-Machine Sync
AES-encrypted snapshots via iCloud. Conflict resolution by timestamp. Your memory follows you.
Neon Dossier Web UI
Browse strata, read engrams, search the mesh, visualize synapse graphs. Cyberpunk aesthetic, keyboard-first.
// stack

Built with

Python 3.13 · SQLite + sqlite-vec · embeddinggemma-300m · NexusClassifier · MCP · Next.js + TanStack Router · d3-force · detect-secrets · iCloud sync

v0.10.5 · 2,904 engrams · schema v10 · 600 benchmark runs

// recent updates

What’s new

Highlights from the changelog. Full history at CHANGELOG.md.

Capture Pipeline Field Fix · #115
Tool-response capture now reads the correct hook payload field. 99.5% of tool captures since 4/29 had been silently empty — live verification confirmed every capture now lands with full output. Adds backward-compat fallback so legacy fixtures still work.
Review Queue Noise Filter · #114
Mechanical-tool filter expanded to drop dispatch chatter (Agent, Skill, ScheduleWakeup, PAL process tools). New memex etch sweep retroactively applies the filter to historical pending items. Empty-output captures now structurally rejected.
Sigil Context Adapter
memex arch ingest-context lifts Sigil’s per-project context.yaml snapshots into the reserved _projects stratum. Project-aware recall by stack, entity, or framework without re-parsing 400 KB YAML on every query.
Atom Memory + Observations Migrators
Two read-only adapters lift Atom’s per-project SQLite memory and the observer daemon’s session JSONL into engrams. Idempotent per-stratum hashing, signal filter on observations to skip routine tool-call noise.
Classifier Resilience · classify_v3
Field-name lock-in for classifier output (tier, confidence, proposed.*), no-markdown directive, expanded low-tier definition for post_tool_use noise. Pairs with fail-open synthesis for legacy buffer rows.
Capture Noise Filter
Default-on filter drops zero-signal events at write time: read-only tools (Read, Glob, LS, Grep, NotebookRead, TodoRead) plus session_start metadata. Bypass with MEMEX_CAPTURE_NOISE=keep.