We built a 971-page personal brain on MnemoPay's recall primitive — here's what shipped
most "AI memory" products are vector stores in disguise. the brain in this post is something else — a personal nervous system that markdown writes to, sqlite indexes, and an SDK recalls from. no LLM in the hot path, no third-party hosting, no monthly bill. it runs on bun:sqlite and dogfoods our own @mnemopay/sdk/recall package.
if you ship infrastructure for AI agents, this is the smallest possible proof that the primitive works on real data.
what the brain is
three layers, all on disk:
- markdown source of record — every fact about people, companies, products, decisions, sessions lives in a flat
.brain/pages/<type>/<slug>.mdfile with YAML frontmatter. git-tracked, human-editable, no schema lock-in. - sqlite recall index — derived from the markdown. one table per page-type, one edges table, one observations table. zero migrations beyond
CREATE TABLE IF NOT EXISTS. @mnemopay/sdk/recallretrieval —localEmbed()produces 384-dim vectors locally (no API call),cosineSimilarity()ranks. semantic search runs in 80-120ms cold against the full corpus.
current state on disk:
brain status
971 pages indexed
1780 edges
6198 lines of typescript source
16 skills exposed via the MCP server
why the dogfood matters
MnemoPay sells a memory primitive for AI agents. the obvious failure mode for a memory company is "the demo works, real corpora don't." the brain is the inverse — it's a real corpus (every decision, every customer, every shipped commit, every founder note) that the same SDK an external agent would use must serve. if recall is slow, wrong, or expensive, *i* feel it before any customer does.
three things the brain has revealed about the SDK that we'd never have caught from synthetic benchmarks:
- root-import side effects. importing
@mnemopay/sdk(no subpath) starts the MCP server at module load. that polluted the brain's own MCP stdio stream — two servers on the same socket. fixed by always importing@mnemopay/sdk/recallinstead. SDK 1.9.0 now wraps the MCP startup in anif (require.main === module)guard so this can't bite anyone else. - localEmbed is enough at city-scale corpora. 971 markdown pages, average 800 tokens each, full corpus embedded in 14 seconds on a 2019 laptop. no openai, no replicate, no api keys. ranking quality holds against bge-small at this scale per side-by-side queries i've run.
- edges beat embeddings for "who works with whom" queries. a question like *"who at TÜV SÜD has talked to me about GridStamp"* is a graph traversal, not a semantic search. the brain stores explicit edges (
person → company,person → product,company → industry) and the SDK's recall layer is fine merging both signal types. the lesson: ship the edges, don't fight the embeddings.
the 16 skills that fall out of this
once the corpus exists and the SDK can read it, "skills" are 100-line typescript files that compose recall + a system prompt. examples currently shipped:
meeting-ingest— pastes a transcript, extracts people/companies/decisions, writes the markdown, indexesprospect-prep— given a name, surfaces every prior touchpoint + the right warm hookpulse— daily rollup of what shipped, what's stuck, what needs replyinbox-reply-context— opens an email, fills in the recipient's history, drafts a voice-matched replycustomer-sync— keeps a customer page mirrored to its CRM rowvoice-check— gates outbound copy against house voice rulesbook-mirror— every book i read becomes a graph of who-mentioned-whom-where
none of these would justify a standalone product. all of them justify the SDK that makes them 100 lines each.
what it costs to run
storage: 340 KB (markdown) + 18 MB (sqlite index)
runtime: bun, no API keys, no hosted service
inference: localEmbed on cpu — 12ms/page during ingest
monthly bill: $0
the brain is hosted at https://mnemopay-brain.fly.dev as a thin HTTP wrapper for the chat widgets on mnemopay.com and getbizsuite.com — that's the only cost (fly.io shared-cpu-1x, auto-stops on idle).
try the SDK
npm install @mnemopay/sdk
then:
import { Recall, localEmbed, cosineSimilarity } from "@mnemopay/sdk/recall";
const r = new Recall();
await r.remember({ text: "TÜV SÜD said the V1.3 IETF rename unblocks their AUVSI bid" });
const hits = await r.query("who unblocked AUVSI");
// → returns the page about TÜV SÜD with the right snippet
the brain's full source is not open — it's personal data. the SDK that makes it possible is. apache 2.0. ed25519 identity layer in 1.7.0+, governance + audit chain in 1.9.0. if you've been waiting to start a memory-grounded agent, this is the cheapest week-1 stack going.
— jeremiah / j&b enterprise llc github.com/mnemopay/mnemopay-sdk · mnemopay.com
MnemoPay™ is a service mark of J&B Enterprise LLC. Built solo in Dallas, TX. The brain repo is private (for now); the SDK is Apache-2.0 at github.com/mnemopay/mnemopay-sdk.