DEV Community

Cover image for Fantastic Knowledge & How to Retain It
Eelco Los
Eelco Los

Posted on

Fantastic Knowledge & How to Retain It

In the spirit of giving, consider this a guide to retaining knowledge using a personal knowledge base system. The goal is simple: turn 'aha' moments into captured insights you can reliably reuse. Then, turn those captured insights into reliable recall using everyday practices.

From Thoughts to Notes

When I'm talking about retaining knowledge, I myself think back to the days of note taking in school.
notes in the margin
Back then, before I had note-taking apps and wikis, I realized that remembering starts with externalizing. I used to fill the margins of books with notes, underlines, symbols, and even loose inlays. Small, personal anchors to help me retain what mattered. In this guide, we'll look at how to recreate that same kind of durable knowledge retention with modern tools and habits.

From that, I learned a bit of the techniques that still work today.

Techniques That Work

  • Capture 'aha' immediately: write a note, i.e. marginal notes or drop sticky inlays while interacting with information, especially the things that make you understand what is being written: the 'aha'.
  • Title + one-sentence thesis: force clarity early so future-you retrieves faster.
  • Context first: add why it matters.

Example: What note did I create for Copilot Spaces

So, to give an example of what I wrote when I first learned about Copilot Spaces (url: https://github.com/copilot/spaces), I wrote the following:

Within GitHub, Copilot Spaces can serve as focused, persistent workspaces for specific knowledge domains (e.g. "knowledge retainment", "copilot agent"). Each Space aggregates code examples, ADRs, runbooks, exploratory prototypes, and curated prompts, reducing siloed tribal knowledge and enabling asynchronous onboarding.
it does help for [[zettelkasten]] type of knowledge, as it scopes to the topic itself

It shows the 'aha', for it being a shareable topic scoped option for GitHub regarding knowledge retainment. Especially use of aggregate code examples, ADRs, etc.
the 'Why it matters' is addressed as well: it helps the Zettelkasten type of knowledge, scoping it to topic.
As title, I defined this as 'copilot-spaces-can-be-topic-specific-knowledge-base'.

Now, these techniques make you have a bunch of notes, but these by themselves are a ball-of-mud. So, after this, we want to think of mapping these thoughts.

Why Mind Mapping Still Matters

Mind mapping is a brainstorming technique that organizes information hierarchically around a central topic

The brainstorming technique on the topic can be disjointed from the information retrieval, like a conference. Though you can brainstorm on the topic while being present on the session too.
At that moment, you can bind the information of the retrieval session to an idea.
To have this information structured in a general way of thinking, we can use a system called 'Zettelkasten'.

Zettelkasten: Core Workflow Anatomy

The Zettelkasten method (German for 'slip box' or 'note box') is a system for personal knowledge management and note-taking, developed by the German sociologist Niklas Luhmann. Its purpose is to capture and connect ideas in a dynamic network that fosters creative thinking and the generation of new insights, rather than simply collecting information.

The 'zettel' (slip) is a note in a 'kast' (box) to organize (parts of) a topic. As you build more and more notes an organized box can look like this:

analog zettelkasten

A Zettelkasten note can have a lot of information on it. what it primarily should do is to help you structure the earlier created note in a way that it can be found and that it finds its way into other information you found before.
note-overview
The body is still here and still the most important. It's just being added with metadata in the header, such as the unique identifier title and tags regarding which topics it's close to.
A footer can be used; it's main regarding source of knowledge.

Creating a web of information using links

The earlier created title in the example shows usage here in the 'linkage'. As shown in the example above, you can use double brackets to reference a link to another note. These connections are in a way your 'oh, this thing refers to another'. For me, the earlier usage of 'copilot-spaces-can-be-topic-specific-knowledge-base', makes the searching of such notes easier, as it would start or complete a (phrase of a) sentence.
When you get to connect a decent chunk of these cards, you can probably also say something about the higher level topic. To me, in this regard of the title just now, it could be regarding this blog: writing about how Zettelkasten works for me. It wouldn't be an entire blog, but just some keywords for you to write what things are about and how that connects on a grand stage.

When would you use it then?

I've been asked as well: well, nice and all, but storing a lot and not using it, is just hoarding.
All my blogs so far are mainly made of those 'aha' moments in one way or another. Furthermore, I can think of your observability log queries that you might need from time to time to be those 'aha' or 'don't google this over and over again' sections. I've lately been saving Application Insights KQL queries. So, applying it to recall occasionally used information is a good use-case.

Should you carry a notebook with you at all times learning about this? Maybe so, maybe not. It doesn't have to be your main retainer of notes though. We have tools to help store them digitally.

Storing Notes Digitally (Obsidian, Notion)

For Zettelkasten-style notes, Obsidian and Notion both work well: Obsidian excels with local Markdown and fast link creation; Notion adds flexible databases and views. My setup leans toward Markdown for speed, with occasional Obsidian views for structure notes that index neighborhoods of related ideas. Whatever you choose, keep notes atomic, use clear titles, and maintain lightweight structure notes rather than sprawling folders.

My experience transferring knowledge from some keywords or one sentence in a knowledge base system, and have it already have links, etc. is really hard. Too hard to maintain yourself, I would argue.

Using AI to help your knowledgebase

Then I noticed a YouTube video by NetworkChuck titled 'You've Been Using AI the Hard Way'. In it, he describes the use of AI as an accelerator. The CLI tools like Gemini CLI, Copilot and Claude might focus on code by default, but it is never stated that they should solely be used for it.
In fact, if you pass a small instruction file to those CLI tools, you can explain that you'd like the output in a Zettelkasten form. This way, you can leverage the 'aha' moment even more: state the topic and 'aha' to the LLM and it'll create the note for you.

AI can also help as a research tool. For this, you could also check out NotebookLM from Google. Technically, you should be able to have the same result via CLI. However, I tried to get a training regarding musical world building with a dozen YouTube, PDF and website sources. Here, NotebookLM does provide value over cli in my humble opinion. It could be because it will use the entire transcripts of YouTube videos, whereas the CLI will only use your markdown notes.

References

  1. Niklas Luhmann - Slip-box Method (original practice descriptions and archival analyses). also https://zettelkasten.de/introduction/ has a lot of information on this topic.
  2. NetworkChuck - "You've Been Using AI the Hard Way (Use This Instead)" (video): https://www.youtube.com/watch?v=MsQACpcuTkU
  3. Copilot Spaces - Topic-scoped knowledge workspaces: https://docs.github.com/en/copilot/concepts/context/spaces
  4. NotebookLM - Using external sources (e.g., videos) to augment a personal knowledge base: https://notebooklm.google/

Personal Experience Highlights

So, all in all, my highlights on retaining knowledge are:

  • Topic-scoped workspaces (e.g., Copilot Spaces) function as focused knowledge bases; scoping artifacts and prompts per topic improves retrieval and supports a Zettelkasten-like flow. In Obsidian vaults these can be folders.
  • CLI-driven AI (e.g. Gemini CLI) is faster than browser UIs and works directly with local Markdown notes, keeping ideation and distillation tightly integrated.
  • Experimenting with NotebookLM and AI CLI to incorporate external sources (like videos) into the graph, followed by manual distillation into atomic notes and vetted links.
  • Treat the system as an active thinking partner: keep notes atomic, rewrite often, and periodically refresh structure notes that organize neighborhoods.
  • Tooling matters: VS Code with lightweight mind-mapping add-ons accelerates the map-to-note funnel without turning maps into storage.
  • Converting quotes into single-idea notes and linking back to an overview improves reuse and prevents annotation bloat.

Closing

A healthy Zettelkasten is less a knowledge base 'warehouse' and more a conversational partner. Mind maps and AI copilots amplify its adaptability when used as catalysts, not crutches. The goal is compound insight: small, precise notes that keep paying dividends across projects and time.

Top comments (0)