Access to myself — decade+ of posts, mail, ai convos made queryable
I had been using AI systems since dawn of GPT 3 with barely any memory of it. The record existed. ‘Bout 25k messages in GPT export. ‘Round 2,500 Claude Code convos in another. ~300 LinkedIn posts going back to April 2010…when I was at Citigroup, when SEC & FINRA pressured for “Social Media Standards” to balance compliance with professional networking.

Most data is staged - not yet searchable. That boundary is intentional: evidence first, human review before promotion.
475 biz sent emails sent this year in my current venture. 16,494 YouTube watch events dating back to the internet dark ages. Forty-one github repo - all w/ agentic driven code. This data I emerged from numerous downloads, from internet footprints long since forgotten.
So I built a brain and fed it my own corpus. This is what the feeding was actually like.

That Catalog that Sold Nothing
The Whole Earth Catalog never sold a product. It reviewed tools and told you where to get them. Every entry was a pointer with its source attached – never the thing itself. That turns out to be the correct architecture for a personal memory system, and not for sentimental reasons. A catalog that asserts nothing can be checked. A catalog that asserts things has to be trusted.

Startup School 2026 SF, YCombinator CEO Garry Tan: Own Your Intelligence
Birth of the Brain
The push came from watching Garry Tan present gbrain at YC Startup School this year, framed not as a productivity tool but as quintessential and existential – the thing a founder already needs, and can’t afford to be without.
I had been circling that idea in my own writing for more than a year without building anything. The talk ended the circling.
Parsing, not Inference
One constraint shaped everything downstream: the conversion path is deterministic and offline. No model call sits anywhere between an export file and a stored record. No summarizing, no classifying, no inferring what I probably meant. This is the opposite of how most people build this, and it costs real convenience. It buys one thing: months from now I can still separate what the export said from what my parser decided. A system that interprets while it ingests destroys that boundary permanently, and you don’t find out until you need it. The AI project with no AI in its core.

Inner part from Garry’s preso. Outer part: my brain + imagination.
Sixty-five Passing Tests
Six adapters, one per data source. Synthetic fixtures for each. Sixty-five tests, all green, and a validator that passed clean. Then I ran it against the real exports for the first time. Two hours later I had two blockers that no fixture could have caught, and the green suite had not been wrong about anything. It had just been answering a different question than the one I thought I’d asked.

Security rule can be correct at small scale & catastrophic at large scale. The fix: quarantine the dangerous record, not every clean neighbor.
A REPO FROM 2013: Html5-Hackathon, public, no forks, untouched since January 2013. It has no commits. GitHub represents that as defaultBranchRef: {“name”: “”} — a present object holding an empty name. Not null. My parser handled null correctly. My fixture tested null. Both of them were written by someone who believed absence arrives as null, and a fixture cannot falsify a belief it shares with the code it tests. One dead repository failed the entire 83-record batch. The fixture wasn’t wrong. It was a faithful recording of my own assumption, graded against itself, reporting success.

What’s in GBrain - per Garry’s Startup School preso
Correct at 298. Catastrophic at 24,080
The secret gate scans every record before anything is written. On the chat corpus it found real credentials – 94 findings across 66 messages, reported by location and rule name only, never by value. Then it refused the batch. All of it: “BATCH REFUSED — 66 atom(s) carry high-precision credentials. Nothing was written; 23541 otherwise-clean atom(s) were discarded with them.” The gate did exactly what it was built to do. The policy around it was the defect. Refusing everything is right at 298 LinkedIn posts, where the blast radius is a rounding error. At 24,080 records it converts 66 poisoned messages into a permanent veto over the largest source I had. Nobody writes down the range over which a rule holds. One discovers it when one leaves the range. The replacement routes per item: the credential-bearing record goes to a quarantine that stores its ID, its location and the rule that fired – and never the body, not even an excerpt it seems. Everything clean proceeds. Fail-closed should describe the fate of the secret, not the fate of every clean record that happened to arrive beside it.
One Byte, Rewriting Itself Forever
A single post contained a bare carriage return. Reading the existing file back applied newline conversion; the freshly rendered text kept the original byte. Two semantically identical strings, compared, unequal. Every run. Forever. One record quietly rewrote itself on every pass, and the only way to see it was to stop comparing text and start comparing bytes. Idempotency is not “the output looks the same.”

Evidence, Not Truth
Here is the idea worth taking, whatever you’re building. Every record says what was said, or what state something was in. None of them says that anything is true. A post I wrote is mine. A retweet is marked third-party. A video title is the creator’s words, not my endorsement – the record proves the platform logged that I watched it, and proves nothing about the claim in the title. An assistant’s message is a model assertion, not a fact. Where authorship couldn’t be established, 927 records went to review rather than getting a plausible guess. The events export gave me two status labels with no documentation and two mutually incompatible readings the data cannot settle. I checked whether it was simply a past-versus-future distinction. It isn’t. So the label is stored verbatim and interpreted nowhere. Truth gets created later, deliberately, by a human promoting evidence into a curated page. That is the only step in the entire pipeline with no automation in it, and that is on purpose.

My avatar at OutsideLLMs hackathon 2026
Stay Hungry. Stay Indexed
The layer I’ve been building is the one that requires no training at all. Whatever model is best next year, a corpus that records who said what, when, and on whose authority is still worth having. Every call out to a model runs through one function with the model name in configuration – one indirection, and the question of whose intelligence reads my memory stays open.
The catalog is assembled. Nothing in it claims to be true, which is what makes it worth querying. Now I find out what it knows.