Blog inception
TL;DR
A curious software developer takes a sabbatical to travel and dig into what AI can really do in 2026. This post covers the why behind that decision, and the how behind this blog, which was built from scratch using Claude Code, a TypeScript static site generator, and AWS.
This is the story behind how this blog came to be. In truth, this isn't necessarily the first chapter chronologically; some parts of the other blog posts that will follow happened before. For convenience, it makes more sense to begin with the blog itself.
This isn't just the beginning of a tech blog nor of a travel blog, but rather a personal journey and journal combining travel and technology, self-discovery and exploration, and a way to keep notes on the exciting time we live in.
Don't care about the why? Jump right to the how.
The why
"Why?" is a question I often ask at work and in my personal life. Before writing code, you need to ask yourself why. Who wants this? What problem are they trying to solve? Without "why," the "how" is just busywork: a solution in search of a problem that might not even exist.
As a child, I never stopped asking how things worked or why they were the way they were. One of my favorite books as a child was "Sophie’s World" by Jostein Gaarder. Early in the book there is a chapter that has always stuck with me: it is a philosophical analogy (a white rabbit being pulled out of a top hat) used to explain the universe and humanity’s place within it. The white rabbit is the universe, and the magician is a mysterious creator. The magic trick is existence itself. Humans are born at the very tips of the rabbit’s fur, and children see all the wonder around them. But as they age, they burrow deeper into the fur, losing their sense of wonder, living in the comfortable, safe warmth at the bottom, and taking existence for granted. The challenge is to avoid becoming "comfy" and to maintain a child-like curiosity about the world. This doesn't just apply to philosophy, but to your life choices, relationships, job, the things you do during your career and life, and for software developers the things they build (or don't build).
I derailed a bit there, sorry about that. To get to the actual why, we need a bit of back-story.
Background
I've been working in software development for 15 years. For the past 10 years I had the opportunity to work in an environment that was wonderful. It was a place where I could explore new technologies, learn from experienced colleagues, and got to work in what felt like a genuinely agile environment. It was a place where developers held a high level of responsibility, coupled with the autonomy necessary to see it through. These things helped people to feel truly engaged and committed.
As usual when you find something blissful in life, it started to ebb away as the years passed. After the pandemic I never really felt the same joy as before and as the years passed I realized I was slipping down into the rabbit's fur and I needed to find a way to reignite my curiosity and passion. While planning a trip to eastern Canada, I realised this posed the perfect opportunity to quit that job and take some time to travel, discover, and learn new things.
The idea
We live in exciting times: 2025 was the year AI in software development really broke through and started to get good. The term vibe coding was coined, crappy AI code-completion turned into more useful IDE tools, and agentic CLIs really started making a difference in how we deliver software.
2026 started off even crazier with OpenClaw gaining notoriety and the Iran-USA-Israel war becoming the first conflict where AI started to be used in warfare. And just a few days ago Anthropic abstained from releasing a new model because it was simply too dangerous – according to them – due to the vulnerabilities it could help exploit.
There are a lot of AI skeptics either because people don't believe in the power of AI or because they are afraid of what it can do to society. But I am a believer and I think we should embrace it. During my time off I want to take the time to dig deeper into what AI has to offer: local LLMs, vibe coding, AI art and music generation, and whatever else crosses my path. One of my main goals will be to figure out if I believe in the 10x engineer idea. Up until now I used AI in my IDE for quick questions or small pieces of code. I used agentic CLI to review code (on top of my own review), to fix small bugs, to add small features, to search for when or why features were added, or to help come up with technical solutions. But I've never felt it was providing 10x efficiency. I guess I'm stuck for now at stage 5 of Steve Yegge's 8 stages of Dev Evolution to AI.
As part of this journey I decided on creating this site to document my discoveries, tinkering, and projects and share my findings with others.
I've never been much of a writer and writing this first post, I already notice how much time it takes me. I'll consider this an exercise in writing as well. I definitely don't want this to turn into an AI-written blog. Of course, I'll use AI to check posts for grammar mistakes or weird constructs, but writing this blog is a human thing.
The how
To put my money where my mouth is, I started this website in Claude Code with a prompt to create a static website. The source of the pages was supposed to be markdown files. These had to be generated into HTML. This seemed very simple at first, but as the days writing and tweaking progressed, it involved more than I initially expected. At the moment of writing there are already 50 commits, 9 committed plans (some are missing), 3 posts in draft, and several ideas waiting to be written about.
Step 1: the infrastructure
For the initial setup I had generated a CDK infrastructure stack that created an S3 bucket, a CloudFront distribution, and a simple first page. I bought this domain and had it added into the CDK.
Step 2: a dynamic post system
I wanted a posts-directory in which I could simply write Markdown files and have these converted into HTML pages. Claude came up with a plan to create a script to read the input folder, add a layer of meta-data (front matter) in each markdown, which is read by gray-matter and convert it to HTML using marked.
These posts were automatically added to the front page in chronological order based on the date (one of the front matter fields).
Somewhere along the way I also added the about page and had to introduce a new type of "post" for this. Since these don't need to be added to the front page, but added to the menu instead. Apparently the plan for this is missing.
Step 3: add styling
I had started out with an HTML without any CSS. I've never been much of a styling hero, so I've installed the Claude frontend-design plugin and used it to generate an acceptable design for me. One of the requirements was to use variables for colours so that it would be easy to tweak should that ever be desired.
Step 4: small extra features
Now that I had the basics and a nice looking blog, there were a few small features along the side that have been added:
- A callout at the top of this page links to the how.
- To be able to link to the how, I needed heading IDs. A feature that once existed in Marked, but has been deleted. So it had to be implemented manually.
- Posts can be kept in draft so that they don't end up on the front page yet.
- An avatar in the header and a favicon were also added.
- External links should be possible, which required another marked custom renderer.
- At some point all these extra features had made the original script grow so big that it was becoming hard to read and I paired with Claude to refactor this into a proper application.
CLAUDE.md tweaks
Along the way there were several tweaks to the CLAUDE.md file that I had to make as well.
First off I wanted to keep track of all the plans that Claude Code made me. This is a great way of documenting each feature the way it originally was. I see it as a form of ticketing. At first I started keeping tabs myself, but after a few I just instructed Claude to do it for me. It needed a few attempts.
- The first time I wasn't clear enough on where to save the plan and Claude just saved it in its default location (~/.claude/plans)
- After changing the instruction it created it inside the repository, but didn't add it to git, so I had to tweak a little further
I eventually ended up with this:
Before implementing a plan, each plan should be stored in .claude/plans/ in the project root. A numbering system
for order is being used. So the next plan should use the next number. After the number, the name of the plan should be
in kebab-case. Add the file to git.
At some point Claude suddenly started editing my HTML files when I asked a visual change instead of editing the templates. This made me add an entry in the CLAUDE.md file to explicitly state that the HTML files are never to be edited directly.
Remarks? Questions?
If you've got any questions about why I'm creating this blog or about the process of creating it, feel free to reach out on the socials on the about page.
