Jan 1, 2026 · 5 min read
Hello World, Literally
Why I started a blog in 2026, how AI is actually helping me write it, and a promise to share the unfiltered versions.
TL;DR
I learn by doing, I like talking, and marketing kept editing out the good bits. So here we are.
Because apparently I just like talking, whether anyone's listening or not.
If you're reading this, you've either stumbled here from a search engine looking for an AWS error message, or you're someone I've sent this link to with far too much enthusiasm. Either way — welcome to the party, pal. Yes, that's a Die Hard reference. Yes, it's a Christmas movie. Fight me in the comments.
Why Another Blog?
Here's the thing — I've always learned best by doing. Reading documentation is fine, but there's something about actually building the thing that makes concepts stick. And there's something about writing down what you've learned that forces you to confront exactly how well you understood it in the first place.
Spoiler: usually less well than you thought.
I've also always enjoyed teaching. Whether people actually listen to my waffle or retain anything useful is genuinely up for debate. But I'm going to keep doing it anyway. Call it a personality flaw. Call it stubbornness. Call it whatever you like — I'm already typing.
The AI Bit
Right, let's address the elephant in the room.
Over the past year, I've been leaning heavily into using AI to augment my workflow. Not as a replacement for thinking — I'm not generating these opinions from a prompt and calling it a day — but as a genuine productivity tool. Claude helps me draft, refine, and occasionally tells me when I'm overcomplicating something that should be three lines of Python, to which I usually respond with a shrug and a "let's do it."
This blog is partly an experiment in that. How much can I embrace AI assistance while still keeping the voice, the opinions, and the me in what gets published? You're reading one data point in that experiment right now.
If I use AI to help write something, I'll tell you. Like right now — Claude helped turn my rambling notes into something that doesn't read like a toddler writing on the wall with ketchup. The ideas are mine. The coherent sentence structure — and the em dashes, so many em dashes — that's a team effort.
The Unfiltered Versions
Here's the real reason this exists.
Over the past year, I've been creating more and more content at work. Blogs, Presentations, architectural write-ups, Product documentation — the usual. And it's been good. But there's always a process. Marketing reviews. Brand guidelines. "Could we soften this bit?" "Should we really call out that limitation?"
Which is fine. That's how professional content works. But sometimes — sometimes — the original version was better. More honest. More useful. More likely to actually help the poor engineer Googling at 11pm wondering why their IAM policy is being inexplicably denied.
This blog is where those versions live. The ones that haven't been through the corporate polish. The ones where I can say "this is genuinely frustrating and here's why" without someone asking if we can reframe it as a "growth opportunity."
I kid of course, I love our marketing team and most of the softening and brand guidelines are enforced by me acting all professional and serious when on the clock.
What You'll Find Here
Mostly technical content. Cloud architecture, AI implementation, DevOps automation, and the inevitable debugging stories where I spent four hours on something that turned out to be a typo.
I write about:
- Things I've learned — because writing it down helps me understand it, and remember it in six months when I inevitably hit the same issue again
- Things that annoyed me — because shared frustration is therapeutic
- Things that actually worked — solutions, workarounds, and the occasional happy accident
I don't write marketing fluff, thought leadership that says nothing, or hot takes without substance. Life's too short, and so is your attention span.
The Stack
Since you're probably curious — this site currently runs on Next.js deployed to Cloudflare Pages. But let's talk about the journey, because it's a proper case study in letting AI tools make architectural decisions.
It started with Astro. Why Astro? Because ChatGPT suggested it, and who am I to argue with a large language model about static site generators? Turns out it was decent advice — zero JavaScript by default, Markdown as a first-class citizen, the works.
Then I fed the whole thing into v0.dev to make it look less... AI-generated. Vercel's design tool spat out something that actually looked like a human with taste had touched it. But it was built for Next.js, and frankly, I've had better experiences with Next.js anyway. So migration it was.
Here's where this gets properly ridiculous — the migration was tag-teamed by Claude Code, GPT Codex, and Gemini. Not because I was being thorough with my tooling choices, but because I'm tight with money and kept hitting plan limits on each one. One would get me halfway through a component refactor, hit the wall, and I'd switch to the next. Surprisingly effective workflow, if entirely accidental.
I'm by no means a web developer, but I'm dangerous enough with an IDE and AI inference to make something work. Whether it's good is a different question entirely. Feel free to tell me how to do it better — no promises I'll actually listen.
On the content side, I'm using Claude skills to help wrangle my chaotic notes into coherent posts, capturing my voice, and sprinkling glitter on my crayon drawings. That workflow will likely become a blog post of its own once I've settled into it.
Here's a diagram because I could:
Both reactions are valid. I'm just glad you made it this far.
If something here helped — or if you've got a better approach — I'm always happy to hear it. That's half the point of doing this in public.