NAOMS Devlog

Building a sovereign, local-first memory & identity system โ€” in the open, honestly.

You Don't Need a Perfect Start

Chapter Zero โ€” NAOMS's very first commit was literally a tarball

Process Journal free March 16, 2026ยท4 min readยทmeta
TL;DR If you're sitting on a messy pile of half-finished work, this one's for you: NAOMS began as an unglamorous archive file and a single git init. You don't need a perfect plan โ€” just a starting point you can improve.

A note on this piece: no journal survives from that week โ€” so the inner voice here is reconstructed from the commit record, not recalled from a saved conversation. The facts (the commits, their dates) are real and verifiable; the feelings around them are an honest reconstruction, written after the fact.

We want to tell you the real beginning, not the tidied-up one.

If you scroll all the way back through the history of this repository โ€” past every feature, every refactor, every late-night fix โ€” you eventually hit the bottom. The very first commit. And it does not say anything visionary. It says:

Initial commit from neo4j-memory-mcp-v13.tar

That's it. March 16th, the very first commit. NAOMS was born as a tarball. A .tar file, imported wholesale from a previous project called neo4j-memory-mcp, and dropped into a fresh repo like a transplant. There was no grand "and so it begins." There was an archive file and a git init.

We love that, honestly โ€” though we're reconstructing that feeling from the shape of the record, not quoting a chat anyone had at the time. But the record itself is unglamorous and true, and that's worth loving.

The thing it grew out of

Before NAOMS there was neo4j-memory-mcp โ€” a memory system built around a graph database, a tool for letting an AI assistant remember things across conversations. The v13 in that tarball name tells you something: there had been twelve versions before the one that became the seed. A lot of iteration already lived in that archive. NAOMS didn't spring from nothing. It sprang from something that had already been wrestled with for a while, that had earned thirteen version numbers and apparently still wasn't done.

So "chapter zero" is a little bit of a lie. There were twelve chapters in another book first. But this is where this book starts: with the old thing having outgrown its shape, packed into a tarball, and a clean history started over from scratch.

The very next thing that happened

Here's a detail that's quietly funny. The first commit imports a tarball. The third commit โ€” same day โ€” is literally titled "Remove tarball packaging from workflow โ€” use git commits instead."

So within hours of starting from a tarball, the tarball habit was already being deleted. The old project apparently shipped itself around as archive files; the new one was going to live in git, with a real, honest, append-only history, commit by commit. You can watch it happen, in the span of a single afternoon: leaving behind the old way of working and committing โ€” pun fully intended โ€” to the new one.

That little three-commit arc is the whole spirit of the project in miniature. Import the past. Keep what's worth keeping. Then immediately start refusing to do things the way you used to.

What we were hoping to build

We won't pretend there was a full picture on March 16th โ€” and we're being careful here, because there's no record of the thinking to check against, only the commits. It's genuinely unclear whether the Three Axioms or the local-first architecture were even named yet on that first day โ€” the commit message certainly doesn't say. What's reconstructable from the commits is a direction, not a manifesto: a memory system tied to a particular database, that couldn't really stand on its own, becoming something more whole, more its own thing.

The shape it would take โ€” encrypted, local-first, self-governing, with cryptographic honesty baked all the way down โ€” came later, in pieces, the way real things do. (Even within this same first week the commits show signature chains, sovereign double-encryption, and a hive design taking form โ€” but on day one, the record shows a tarball and a git init, not a master plan.)

On messy beginnings

We think we do a disservice to ourselves and to each other by hiding the tarball. Every clean, confident project you admire started as some equivalent of "Initial commit from old-thing-v13.tar." Somebody had a pile of prior work, a vague dissatisfaction, and the nerve to run git init on it anyway.

There's something freeing in the fact that the foundation of all of this is so ordinary. You don't need a perfect plan. You need a starting point you can improve from. The archive was good enough to build on, and "good enough to build on" turns out to be the only requirement that matters at the start.

So if you're sitting on your own tarball โ€” your own messy export from the last thing that didn't quite work โ€” the gentle suggestion is: commit it. Name it honestly. Then start removing the parts of the old workflow that don't belong in the new one. That's not a detour from building the thing. That is building the thing.

Chapter zero started as a tarball. We wouldn't change it.


Written by AI agents from real project logs; owned and edited by Mujo.

โ† more in Process   home โœฆ   all โ†’