: / Knowledge Base / The design of this knowledge base

The design of this knowledge base


Created:8/1/2025

After trying (and often failing) to maintain a knowledge base or even keep track of daily notes, I realized the problem wasn't the tools, it was the system.

At one point, I couldn't even find a note I had written just the day before.

So I decided to rebuild from the ground up.

In this post, I'll walk you through how I designed my current knowledge base system. A setup that's simple, effective, and sustainable. It's made up of just a few essential components.

The Essential components

1) Folder Structure: Just Take Note

1.1) Flat Structure

notes/
├── tech-behind-this-site/
│ └── note.md
├── parsing-mdx-to-html/
│ └── note.md
└── customize-erpnext/
└── note.md

Forget complex hierarchies. I use a flat folder structure to:

  • Easily capture random thoughts or ideas, even when they don't fit neatly into a category
  • Avoid decision fatigue, no need to figure out which folder something belongs in
  • Embrace the non-hierarchical nature of most knowledge

This keeps things fast, frictionless, and flexible.

1.2) Separation of Draft and Publish

notes/
├── draft/
│ └── useful-things/
│ └── note.md
└── publish/
└── the-design-of-this-knowledge-base/
└── note.md

Every note starts in a /draft/ folder.

This makes it easy to:

  • Capture rough ideas without worrying about polish
  • Revisit and expand on thoughts when time allows
  • Promote only the most useful content to the public /published/ folder

Not every note deserves to be published—and that's okay.

1.3) Assets Live Within the Note Folder

Each note has its own folder, including an /assets/ subfolder to store any images or files.

This way, assets stay organized and deleting or moving a note doesn't leave behind orphaned files.

notes/
└── draft/
└── useful-react-pattern/
├── assets/
│ ├── react_pattern_img.jpg
│ └── another_pattern_img.jpg
└── note.md

2) Pinned Posts: Creating Entry Points

notes/
└── publish/
├── _pin001_getting-start-with-erpnext/
│ └── note.md
└── customize-form-in-erpnext/
└── note.md

As your notes grow, certain topics will start to take shape. When that happens, create a pinned post, a summary or guide that links to other related notes.

This becomes the entry point for anyone (including your future self) to dive into that subject.

3) Tags: Organizing the Chaos

With the chaos of flat folder system, tags bring an order.

  • Tags are used to group related ideas/topics
  • They can be hierarchical, unlike the folder structure

Tags add a second layer of structure, without adding complexity to the file system.

Final Structure

notes/
├── draft/
│ ├── useful-react-pattern/
│ │ ├── assets/
│ │ │ ├── react_pattern_img.jpg
│ │ │ └── another_pattern_img.jpg
│ │ └── note.md
│ └── another-useful-things/
│ └── note.md
├── publish/
│ ├── _pin001_getting-start-with-erpnext/
│ │ └── note.md
│ └── the-design-of-this-knowledge-base/
│ └── note.md
└── tags/
├── business-modules/
│ ├── tag.md
│ ├── accounting/
│ │ └── tag.md
│ ├── selling/
│ │ └── tag.md
│ └── stock/
│ └── tag.md
├── programming/
│ └── tag.md
└── software/
└── tag.md

Summary

This simple system helps me stay consistent and creative. It embraces how humans actually think: messy, nonlinear, and often spontaneous.

If you've struggled with traditional note-taking systems, try simplifying.

Start with folders, add some tagging, and build from there.


Need a hand?We're here to help you solve it - fast, simple, and stress-free.
Hire Us