DEV Community

Aaryan Verma
Aaryan Verma

Posted on

I Stopped Organizing My Notes. I Built a System That Does It for Me.

I have a bad habit of writing things down and then never organizing them.

Meeting notes, random ideas, tasks, things I learn — they all end up scattered across files.

The problem isn't capturing information.

It's the friction of organizing it.

So I built Gray Box around a simple idea:

Dump your thoughts

Let AI organize them

Ask for them later

Gray Box TUI

GitHub: Gray Box


Capture first. Organize later.

Instead of deciding where a note belongs, I just start with:

graybox capture
Enter fullscreen mode Exit fullscreen mode

then write my notes/thoughts:

Talked to Sarah about the Atlas migration.
She wants it completed before Friday.
We decided to use PostgreSQL instead of MySQL.

Gray Box stores that raw capture as Markdown.

Then:

graybox organize
Enter fullscreen mode Exit fullscreen mode

The LLM extracts things like:

People
Projects
Tasks
Decisions
Relationships

That might become:

projects/atlas.md
people/sarah.md
tasks/complete-migration.md
decisions/use-postgresql.md
Enter fullscreen mode Exit fullscreen mode

The interesting part is that the LLM doesn't directly modify the knowledge base/raw notes.

It extracts structured data. Deterministic Python creates the pages, links them, and maintains the relationships.

It's a knowledge graph, but the database is Markdown

Pages are connected:

Atlas
 ├── Sarah
 ├── Complete migration
 └── Use PostgreSQL
Enter fullscreen mode Exit fullscreen mode

Each page keeps relationships, backlinks, and provenance to the original capture.

So when I ask:

graybox ask "Why are we using PostgreSQL?"
Enter fullscreen mode Exit fullscreen mode

retrieval can follow the knowledge graph instead of relying only on semantic similarity.

And embeddings are optional — Gray Box can work without a vector database.

The memory is still mine

This was probably the most important design decision.

The source of truth is a folder of Markdown files.

I can open them, edit them, grep them, version them with Git, or delete them.

The AI is helping organize the memory, not owning it.

And because the original captures remain available, derived knowledge has a path back to its source.

What happens when AI gets it wrong?

It will.

So correction is built in.

Gray Box can detect potential duplicates, merge pages, edit/delete knowledge, and even forget an original capture:

graybox forget <id> --scrub
graybox forget <id> --purge
Enter fullscreen mode Exit fullscreen mode

These operations are deterministic — I don't need another LLM call to fix the previous one.

Why I built it

I'm not trying to build another Notion, Obsidian, or "second brain."

I wanted something much simpler:

Let me capture information without thinking about where it belongs.

The system can figure out the structure later.

That's Gray Box.

Capture without friction.
Knowledge without lock-in.
AI without giving it ownership of your memory.

It's open-source, and I'm still figuring out where this approach breaks as the knowledge base grows.


If you've built or used something similar, I'd love to hear what you think.

Top comments (0)