Markdown is My AI's Memory

Everything on nimory lives in plain files. Events, subscriptions, inventory, birthdays, notes, finance. One Obsidian vault, synced with Syncthing, opened by hand whenever I want.

At some point I noticed something. My AI (Omnimo, the Telegram bot) reads the same files I do. And when I tell it something new, it writes it back to the same files.

So that's its memory. A folder of markdown. Nothing more.

This note is about why I think that's enough, and how I keep it from turning into a mess.


Why Markdown? 📝

Every "AI memory" product I looked at wants a database, embeddings, a sync service, and an account. I wanted something I can cat.

Markdown gives me that:

The memory belongs to me, not to the app.


What It Looks Like 📂

Nothing fancy. Same vault I already use:

notes/
├── event.md
├── subscriptions.md
├── birthdays.md
├── inventory.md
├── inbox.md
├── people/
├── topics/
└── outbox/

Each file starts with a small frontmatter block. The important part is the description line:

---
name: running
description: race calendar, shoes, weekly mileage
updated: 2026-10-20
---

- registered for the 10k in november
- shoe size goes up half a size for long runs

That one line does most of the work. Before answering, the AI looks at the descriptions first and only opens the files that matter. On a small CPU-only box with a small model, context is precious. Loading the whole vault every time is not an option.


Rules I Follow 📏

Writing notes for yourself is easy. Writing notes that both you and an AI can use needs a bit of discipline. These are the few rules I settled on:

The third rule matters most. Without it, the memory slowly fills up with things that sound right but I never actually said.


Why Not a Vector Database? 🤔

Postgres on nimory has had pgvector installed for a long time. Still unused. I even mentioned it in the nimory note as something to either build or stop pretending about.

Honestly? For one person's notes, I don't need it.

Embeddings shine when you have millions of documents and fuzzy questions. I have a few hundred files with good names and a description on top. A filename, a grep and a well-written first line beat a similarity search most of the time, and I can debug them by just looking.

If the vault ever grows past what grep can handle, I'll revisit. Not today.


Not Perfect 🚧

None of these are reasons to move to a database. They're just housekeeping.


The best memory system I've found is the one I was already using for myself.

Plain files. Readable by me, readable by the AI, and entirely mine.

# Last updated on .