I’ve always been a bit of a tinkerer, but for a long time, my digital presence was both limited and scattered across “rented” platforms. Whether it was the curated content of social media or the template-heavy confines of platforms like Medium and Substack, I felt like I was renting space in someone else’s house. This is my attempt to build a permanent, high-agency home for my data projects, my insights, and my life journey (from adventures across continents to fatherhood).
Here is the “How and Why” behind the build.
The “Why”: Ownership and Agency#
The primary driver was a desire for ownership. I wanted a place that wasn’t subject to the shifting sands of platform algorithms or subscription tiers.
More specifically:
- Freedom of Expression: I needed a space to showcase technical skills and personal narratives without the constraints of a “pre-packaged” UI.
- A Technical Playground: I wanted to be “techy” and “nerdy” without having to develop a bespoke CMS from scratch.
- Sustainability: A place that remains fast, secure, and accessible, even if I’m halfway across a continent with a spotty connection.
Selecting the Engine: Hugo vs. WordPress#
When deciding on the tech stack, the choice between a Static Site Generator (SSG) like Hugo and a dynamic system like WordPress was a quick one.
I chose Hugo for three reasons:
- Speed: Hugo pre-renders every page at build time. There is no database to query and no server-side processing when a visitor clicks a link. The result is a site that loads near-instantly, which is non-negotiable for a professional brand.
- Security: WordPress is a giant target for bots. By removing the database and the login portal, I’ve eliminated the vast majority of common web vulnerabilities.
- The Markdown Workflow: I prefer writing in Markdown. It’s clean, portable, and allows me to manage my content as code in a version-controlled environment rather than wrestling with a clunky visual editor.
The Theme: Why Blowfish?#
Choosing a theme can be a rabbit hole. I settled on Blowfish because it hits the sweet spot between a minimalist aesthetic and high-end technical features.
- Tailwind CSS: It’s built on Tailwind, making it incredibly lightweight and easy to customise without bloating the code.
- Built-in Systems: It includes native support for things I actually use, such as Series for my long-distance cycling logs and Mermaid diagrams for system architectures.
- Authority, without Arrogance: The design is “dark-first” and measured. It doesn’t shout; it provides a clean canvas for complex ideas.
The Tech Stack: Local to Live#
My workflow is designed for efficiency and reliability. I manage the site using a professional IDE, version control it via GitHub, and automate the deployment through Cloudflare.
graph LR
A[Local Development] -->|Git Push| B(GitHub Repository)
B -->|Webhook Trigger| C(Cloudflare Pages)
C -->|Build & Optimise| D{Global CDN}
D -->|Serve Site| E[Visitor]
- The Local Environment: This is where the heavy lifting happens. I draft my posts in Markdown and use the Hugo CLI to preview changes in real-time. It’s a grounded, local-first approach that ensures I’m never fighting with a web-based CMS.
- The Source of Truth (GitHub): Every comma and configuration change is versioned. By treating content as code, I ensure that my journey is backed up and that I can revert any “experimental” errors with a single command.
- The Distribution (Cloudflare Pages): The final leg of the journey. Once I push my code to GitHub, Cloudflare automatically builds the site and distributes it across its global network. This ensures that someone in London or Lanzhou gets the same snappy experience.
Closing Thoughts#
Building this site wasn’t about reinventing the wheel; it was about choosing the right tools to build a better one. By opting for Hugo and Blowfish, I’ve realised a platform that is fast, secure, and entirely under my control.
I’m looking forward to sharing my journey with you, one post at a time.

