Personal Memory for AI
Memex
AI that knows what matters.
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
// the mesh
Knowledge, connected
Every engram links to related memories through weighted synapses —
an associative mesh that mirrors how human memory works.
Hover to explore.
live mesh simulation · hover to interact
// 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
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.