Meta Info On This Blog
A modern blog built with Obsidian as the CMS in a few hours.
This blog is a culmination of many tools and processes I’ve developed. I can edit it and see the changes live as I type, or sit back and watch an AI agent do it for me. Here’s my setup.
Obsidian
Obsidian is a dream. I love how I can just open it up and start writing without thinking about it. But I can also use my JS knowhow to Frankenstein it into anything I can imagine via custom plugins.
Obsidian’s frontmatter lets you assign metadata to your documents that is perfect for a blog. I’ve got my publish date, tags, published status, and more in the frontmatter of each blog post.
Obsidian Sync seamlessly manages version control for your vaults across any number of locations. You can even go headless and sync your vault to a remote sandbox with the Obsidian CLI.
11ty
This is a lightweight Swiss Army Knife web publication tool built on Node. It renders to plain HTML, so the pages serve up light and lean. But you can do all kinds of jiggery pokery behind the scenes.
Markdown is available out of the box with 11ty, so Obsidian files slot right in. I personally used Nunjucks to keep my HTML nice and tidy and give it a little dynamism.
Decapod
Decapod is a tool I created a few months back after discovering OpenClaw. My reaction to Open Claw was quite visceral and mixed. It helped me really see the potential of AI agents as personal assistants. But I also hated it with a burning passion.
The UI, CLI, install process, and security issues were a train wreck. I also hated the fact that I’ve been building cool shit like this for years. And Open Claw is nothing compared to what I can create. But I never got famous.
So I rode that anger train and built Decapod in two weeks with n8n and several other enterprise grade tools. The first release replaced 80% of what Open Claw can do. I also published an article about it on FreeCodeCamp. It never caught on, but I still use it literally every day.
Since then I’ve even streamlined it. It’s no longer a dedicated agent. Now it’s just a tool belt with a collection of 40+ tools that are accessible through Anthropic’s standardized skills.
That whole toolbelt is accessible to a browser-based Claude session with one MCP connector and one skill sheet. That’s it. All of the other skills are accessible through a database table dedicated to holding them that is itself accessible from within Decapod itself.
This approach keeps Claude’s context window lean and creates less confusion for the AI because it only uses the skills it needs and it doesn’t have a whole stack of MCP connections to sort through and figure out.
Decapod tools are a combination of API calls and docker containers connected via a common network. Several of those containers are Alpine sandboxes. And one of them holds my website.

Now here’s where it gets fun! I set up Eleventy to hot reload a production server and let Claude access the sandbox that holds that server via decapod. That means that I can ask Claude to make changes to my website and watch them change in real time.
Granted, I could do the same thing with Claude code. But I’m doing it in a browser session with the lively persona and long context window.
Bringing It All Together
So now I have an Eleventy blog with a content folder. That content folder is connected to an Obsidian vault and the site itself lives in a sandbox. So I can edit my blog from Obsidian and then ask Claude to review it without copy pasting anything at all ever. And whether I’m editing it or Claude is, it all happens in real time. And I can watch the changes as they appear.
But I went even further than that. My whole website is 100% editable from Obsidian. All of the headers, all of the flavor text, all of my persona slides in the carousel are all editable from Obsidian and they all update in real time.
I built the whole thing using AI, but with me playing architect. I understand the technology. I know how it’s built. I know how it works together. I know how to do it right. This isn’t a snappy vibe coded PoS PoC that will fall apart at the first change. It’s built by a seasoned dev who’s been forged by pragmatic fires. But one who chooses to let AI handle the stressful grindy bits.
You probably have a problem
that doesn't have a job title.
The best work I've ever done didn't fit a category. Someone had a messy, undefined, doesn't-fit-the-org-chart problem — and needed someone willing to actually figure it out.