Skip to content

Digital Gardens

Digital Garden is a method of storing and maintaining knowledge in an maintainable, scalable and searchable way. They are also known as second brains.

Unlike in common blogging where you write an article and forget about it, posts are treated as plants in various stages of growth and nurturing. Some might wither and die, and others will flourish and provide a source of continued knowledge for the gardener and folks in the community that visit.

The content is diverse, you can find ideas, articles, investigations, snippets, resources, thoughts, collections, and other bits and pieces that I find interesting and useful.

It's my personal Stock, the content that’s as interesting in two months (or two years) as it is today. It’s what people discover via search. It’s what spreads slowly but surely, building fans over time.

They are a metaphor for thinking about writing and creating that focuses less on the resulting "showpiece" and more on the process, care, and craft it takes to get there.

Existing digital gardens

If you look for inspiration check my favourite digital gardens:

Or browse the following lists:

Or the digital garden's reddit.

Add the not by AI badge

Not by AI is an initiative to mark content as created by humans instead of AI.

To automatically add the badge to all your content you can use the next script:


echo "Checking the Not by AI badge"
find docs -iname '*md' -print0 | while read -r -d $'\0' file; do
    if ! grep -q not-by-ai.svg "$file"; then
        echo "Adding the Not by AI badge to $file"
        echo "[![](img/not-by-ai.svg){: .center}](" >>"$file"
You can see how it's used in this blog by looking at the Makefile and the gh-pages.yaml workflow.

Link rot occurs when hyperlinks become obsolete or broken, leading to content loss or diminished user experience. Here are some ways to mitigate link rot in digital gardens:

  • Use Permalinks: Ensure that your digital garden software supports permanent URLs (permalinks) for each note or idea. Permalinks make it easier to reference and maintain links over time because they remain stable even if the underlying content changes. This is uncomfortable to do unless your editor supports it transparently.
  • Regularly Update Links: You can check for broken or outdated links and replacing them with current references through by using automated link checkers.
  • Implement Redirects: When restructuring your digital garden or moving content to different locations, set up redirects for old URLs to ensure that visitors are directed to the new location. This prevents link rot and maintains the continuity of your digital garden. I don't do it as I haven't found a way to automatically doing this.
  • Archive External Content: When linking to external websites or resources, consider using web archiving services to create snapshots or archives of the content. This ensures that even if the original content becomes unavailable, visitors can still access archived versions. Check the section below for more information

Archive External Content has an API and a python library.