Home | Updates | Now | LinkedIn | GitHub | Use of AI

Use of AI

I use AI extensively. For writing, for building the tools and projects you find on this site, and for the thinking that connects the two. This page explains how.

I think transparency here matters, not because AI involvement diminishes the work, but because the opposite claim would be dishonest. I'd rather tell you exactly what I do.

The tools

My primary AI tools are Claude.ai and Claude Code, both from Anthropic. For writing, I work inside dedicated Claude.ai projects that carry context across sessions. For building, I use Claude Code, an agentic coding environment, running locally on my machine.

Writing

Nothing I publish is AI-generated output, dropped straight onto a page.

Every piece starts with me: the observation, the argument, the thing I actually think. I bring that into a conversation with Claude, along with context about my voice, my reader, and what I'm trying to say. We draft together. Then I edit, sometimes heavily, until the piece sounds like me and says what I mean.

More recently I've started using Marker as part of that editing process, which I find valuable for tightening and refining. The final pass is always mine, in a text editor, before anything goes anywhere.

The writing on this site and on my LinkedIn profile is my thinking. Claude helps me get it out of my head and onto the page in a useful and readable format. That's the collaboration. The ideas, the judgements, and the responsibility for what I've said are mine.

Code and projects

The sites you're visiting, hultberg.org, restaurants.hultberg.org, ansible.hultberg.org, are built almost entirely with AI-generated code. I do not write code myself, in any meaningful sense.

What I do instead: I use an opinionated workflow based on my extensive experience as a Product Manager mimicking collaboration with a team of engineers. I work through requirements in conversation with Claude until we've agreed a clear specification in writing. Claude Code then implements against that specification using a test-driven approach. Separately invoked sub-agents review every pull request before anything is merged; a security-minded reviewer, an architect, and others, depending on the phase.

Can I be certain the code is production-grade? No. Can I feel reasonably confident it's better than anything I'd have produced myself? Absolutely. I contribute ideas, product sense, validation, and quality judgement from the outside. Claude contributes the rest.

I would not use this approach for anything I expected other people to pay for, rely on for anything important, or trust with sensitive data. These are personal projects, built for my own use and curiosity.

The bottom line

All of this is for me. If something on these sites is broken, wrong, or behaves unexpectedly, I am the one who bears the consequence. I try to make sure that's true, that no one else is exposed to whatever imperfection the process inevitably produces.

That's the deal I've made with myself. I think it's a reasonable one.

Last updated: March 2026

Home | Updates | Now | LinkedIn | GitHub | Use of AI