Skip to content
Back to blog
Part 9 of 10 in series
Building a Production-Grade Blog

A curated collection of articles exploring this topic in depth.

3 min read

Growth Without Prediction

How structured navigation and metadata allow a digital garden to evolve without needing to predict its future.


For me, one of the most difficult aspects of starting a technical blog is the pressure to define its scope. We often feel compelled to categorise our future writing before we have even begun. This predictive approach is often counterproductive, as it creates rigid structures that may not fit the ideas we have in a year.

Structured metadata and clear navigational primitives let the site evolve organically as my interests shift.

The digital garden as accumulation#

I've used the term digital garden as a way to differentiate from a traditional blog in its relationship with time. While a blog is often seen as a stream of ephemeral updates, a digital garden is an accumulation of interconnected thoughts that evolve over time and will undergo maintenance, pruning, and restructuring as my interests change and grow.

This model requires a shift in how we think about navigation. We are not just publishing the latest post; we are adding a new node to a growing network. The architecture must support this growth without requiring a total redesign every time a new topic is introduced.

Tags vs Series: Topical vs Narrative#

In this blog, I use two distinct mechanisms for connecting content: tags and series. They serve different purposes in the information architecture.

Tags as a flat taxonomy#

Tags are used for technical topics like aws, terraform, or security. They are non-hierarchical and represent the specific tools or domains discussed in a post. They allow for discovery through topical interest.

Series as a narrative thread#

A series represents a deliberate, ordered sequence of posts. This current series, "Building a Production-Grade Blog", is an example. Unlike tags, a series has a defined order and a specific narrative goal. It allows for the exploration of complex topics that are too large for a single entry.

By separating these two concepts, I can connect posts by topic while also maintaining structured learning paths.

Archives as temporal context#

Archives could be dismissed as a legacy feature or a tool for search engine optimisation (SEO). In a digital garden, however, the archive provides essential temporal context.

Knowing when an idea was formed is as important as the idea itself. The archive allows a reader to see the evolution of a thought process over months or years. It turns the site into a living record of professional development rather than just a collection of static tips.

Discovery through structure#

When content is treated as data, discovery becomes a function of the metadata. As the site grows, the search index and the automated tag and series pages ensure that older content remains discoverable.

We do not need to try to predict what will be important in the future. We only need to ensure that every post is correctly categorised at the time of writing. The system handles the task of making those connections visible.

Systems that grow with the author#

The goal of this architecture is to reduce the friction of evolution. If I decide to start writing about a completely new domain, I don't need to change the system. I simply start using new tags or define a new series.

For this system, the architecture should be resilient to changes in my focus. By building a robust data layer and a flexible delivery model, I ensure that the system remains a useful tool for thinking, regardless of where that thinking leads.

In the final post of this series, we will reflect on the entire process: what worked, what was overkill, and what I would do differently if I were starting again today.