: / Home / Knowledge Base / The design of this knowledge base

>The design of this knowledge base

Created :2025-08-01

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