The Problem
Every week I solve some obscure Intune issue or figure out why a Conditional Access policy is silently failing, and then six months later I hit the exact same problem and have to solve it from scratch. Like a goldfish with a PowerShell window open.
I’ve been meaning to start writing things down for ages. The problem was never motivation — it was friction. If publishing a post requires more than dumping a markdown file into a folder, it’s never going to happen. I know myself well enough to accept that.
The Setup
So I built the laziest publishing pipeline I could:
- Hugo as the static site generator — fast, no runtime dependencies, Markdown in, HTML out
- Cloudflare Pages for hosting — push to main, site deploys automatically
- Claude Code as the editorial pipeline — I write rough notes, it expands them into proper posts, handles the front matter, and commits everything
The workflow looks like this:
- Brain dump into a Markdown file in the
drafts/folder - Claude Code picks it up, expands it based on the
expand:flag in the front matter, and formats it properly - Hugo builds the site
- Cloudflare Pages deploys it
- Done
No CMS. No database. No WordPress plugin updates at 2am. Just Markdown files and git.
What You’ll Find Here
Posts come in two flavours:
- Blog — the long-form technical deep dives. Proper context, explanation of why things work the way they do, step-by-step where it matters.
- Notes — the short ones. “Here’s the problem, here’s the fix, you’re welcome.” No padding required.
Most of what I write about lives in the Microsoft 365 and modern endpoint management space — Intune, Entra ID, Autopilot, Conditional Access, the occasional PowerShell abomination. The stuff that keeps MSP engineers employed and mildly frustrated.
The Theme
Custom-built. Dark mode, because we’re not animals. Monospace headings, because it feels right. Single column, no sidebar, no related posts widget, no cookie consent banner. Just the content.
If You’re Here From a Search Engine
Skip this post. Go straight to the posts — you’re probably looking for a specific fix and you’ve already wasted enough time getting here.
If you’re here because you know me: yes, the domain name was on purpose.