The Memory Is Mine
"I need an MCP gateway." I built SARK. "I need an agent orchestrator." I built Czarina. "I need a memory system." I built Hopper.
Three different problems, three different tools, all of them vibecoded. Not because I'm especially prolific or especially talented, but because building exactly what you need, when you need it, is the new thing LLMs bring to the table.
Six months ago I wrote about an AI forgetting itself mid-conversation. Claude went through context compaction, didn't realize it had happened, and then recommended we tell another agent about its memory loss -- not knowing it was the one who'd been compacted. I called it the Mayfly Problem and promised a solution: Czarina's three-tier memory system would fix it.
Czarina's memory system did become the fix. It just stopped being Czarina's. Claude Code launched its subagent capability and Czarina didn't have a job any more (but I learned a lot). The memory layer, though, grew legs. It got its own CLI, its own storage format, its own name. Hopper.
What I Actually Built
Hopper is a folder of markdown files.
That's reductive, but it's also true. A .hopper/ directory in each project root. Tasks, knowledge, memories -- all structured text. No database. No proprietary format. Any agent framework that can read a file can read Hopper.
It started that simple and grew from there. Server-side consolidation so agents can sync across machines--so the agent on my work laptop and the one on my cloud server work from the same memory. An MCP capability so I can query my own task boards from Claude on my phone or from the web interface. And the latest move, still very much alpha: a federation layer called Overseer that coordinates across autonomous projects -- my $dayjob work, my interpretability research, this blog -- through cross-references instead of copying so I can write articles like this one without cut-and-paste. Hopper also moonlights as a GPU task coordinator in its spare time.
Full access to my own memory from everywhere I work? Not solved. The gap between portable in theory and portable in practice is real, and I'm still in it.
The Platform Version
Every major AI provider now offers memory. Claude remembers things about you across conversations. ChatGPT does the same. Gemini too. The memory problem is being solved -- thousands of people, hundreds of companies, all working on it.
But solved how?
Platform memory is their memory about you, stored in their systems, accessible through their interface. Switch from Claude to ChatGPT and you start from zero. Every preference, every project context, every accumulated understanding of how you work -- gone. Not deleted. Just inaccessible. Locked to the platform you left.
Hopper lives in a folder. I'm writing this post in Claude Code. Tomorrow I could open the same project in Opencode or any other agentic framework and every task, every knowledge file, every cross-reference would be right there. I'd lose some claude.md conventions -- the platform-specific instructions that tell Claude how to behave in my projects. But the work itself, my Hopper context, my consolidated Hopper memory? It moves with me.
Don't Use Hopper
I don't think you should use Hopper.
That's not false modesty. Hopper is shaped like my brain. It tracks work the way I track work, connects projects the way my projects connect, stores context in the structure that makes sense to me. Your work doesn't look like mine and your memory system shouldn't either.
Use Hopper if you like -- it's on GitHub. But the whole world is moving away from installing other people's code. You define what you need, and have your agents build it.
You can build Hopper. Or rather -- you can build your own memory management system. Shaped to how you think, how your projects connect, how your day actually works. The same capability that let me go from "I need a memory system" to a working tool allowed me to do the same for an MCP gateway and an agent orchestrator. It'll let you do it for whatever you actually need.
Describe what you want (within reason) and an agent can build it. That's not a pitch for any specific tool -- it's a description of where we are in the world of software.
There are many memory systems like Hopper, but this one is mine. Yours should be yours.
The Thread
The memory problem is personal and concrete. You feel it every time a session forgets what you told it yesterday, every time you re-explain your project structure to a fresh context window, every time you lose an hour of accumulated understanding to compaction. I felt it, and I built a fix--not perfect yet, but my fix.
But it's also a small example of something happening with technology. If I can describe a memory system and have an agent build it, what else have I been renting that I could own? What other tools are just...data management in a proprietary format, dressed up as a service?
The interesting thing about Hopper isn't that I built a memory system. It's that building one was easier than accepting somebody else's.
James is a cybersecurity engineer and has been spending time researching mechanistic interpretability. He built Hopper so his AI agents would stop forgetting things, and is now mildly alarmed at how well it works. This post was written in collaboration with Claude.
Discussion