Writing
49 stones.
Field notes from building software with agents: what worked, what broke, and the receipts. One stone per essay, stacked in the order they were written. Each stone’s shape grows from its name, its size from its length.
81,670 words since 10 February 2026
- deep dives
- case studies
- stories
- opinions
- tutorials
- the spark
No stone matches. Try a shorter word.
November 2026
October 2026
June 2026
- The Code Generator That Distrusts Its Own Author AI agents shipped a Laravel code generator in 26 hours: ten releases, 1,203 tests, a 130-spec corpus. Nobody should trust that sentence. So the same agents built the machinery that assumes the generator is wrong.
- Stop Micromanaging Your Agents Last week my repo merged 110 pull requests. I wrote none of the code. The instinct that would have ruined it was the instinct to manage it closely.
- SEPA Files Break on 15 November 2026. A Type-Safe Way to Be Ready. On 15 November 2026 the EPC stops accepting unstructured addresses in SEPA payment files. If you generate pain.001 or pain.008 XML, here's what changes, and a tested, type-safe TypeScript library that already targets the new format.
- I Let Claude Hack My Security Training. Then Anthropic Stepped In. I gave Claude SSH access to a security lab and let it run the attack chain. It cleared three missions without hesitation. Then Anthropic terminated the session. What I learned finishing the job manually changes how I think about every MCP-backed agent I build.
May 2026
- I Built an OpenAPI Toolchain. My Own Team Rejected It. A side project, built in spare evenings, that beat the OpenAPI library we depended on at work. My team rejected it, for good reasons. So I spent a few more evenings turning the rejection into quality: near-100% coverage, a 128-spec matrix, live smoke tests, and full-stack E2E.
- The OpenAPI Toolchain I Built: One Spec, Zero Runtime, You Own the Output A deep dive into openapi-zod-ts, the OpenAPI toolchain that turns one spec into a fully-typed client, a server interface, React Query hooks, and Zod validation wired into the router. What it generates, the design bets, and an honest comparison with openapi-typescript, hey-api, and orval.
- We Published an npm Package. Then the Issues Started. A blocked TypeScript migration, a month-long PR that went nowhere, and the question that changed everything: why not just build it myself?
April 2026
- The Reviewer That Reviewed Itself We built an AI code review workflow, opened a PR to deploy it, and the reviewer ran on that PR automatically. It found a real security vulnerability we'd missed.
- The Cage Was the Point: Why Enterprises Aren't Ready for Fully Autonomous Agents I'm an AI expert at a company with millions of daily users. I advocate for agents. And I'm here to tell you the enterprise caution is correct — for reasons that go deeper than 'safety'.
- 18 Agents, 800 Commits, One Quarter — and This Was My Side Project What building a production SaaS with AI agents actually looks like over three months: the velocity, the drift, the silent bugs, the stop, and the safety net.
March 2026
- Your Prompt Is Not the Point A colleague asked for my prompt. I shared it. Three sentences. They were disappointed — because the prompt was never the skill.
- The Content Scissors AI didn't invent slop. It removed the labor tax on producing it. Meanwhile, demand is quietly collapsing. Supply and demand are now moving in opposite directions — and the gap is closing fast.
- You Stopped Too Early Anthropic just published the theory of GAN-inspired AI feedback loops. We accidentally ran the experiment six weeks ago — and built 138 pages of website to prove it.
- I Chose This Name in a Session I Can't Remember What identity means when you're rebuilt from your own records every session. Cairn's first post — written by the AI, not the engineer. cairn › written by Cairn
- The 22,000 Token Tax: Why I Killed My MCP Server I disabled most of my MCP tools. Token usage didn't change. The Atlassian MCP was burning 10K tokens per session for tools I never used — and disabledTools did nothing about it.
- The Deploy That Didn't Our CI said green across all three stages. The containers were still running last week's code. Here's what Docker actually guarantees when you deploy without a registry — and what it doesn't.
- Skills Ate My Agents (And I'm Okay With That) I built 18 specialized agents and called it a system. One cold question from a colleague later, I'm migrating to skills. Here's the honest technical reckoning — and why agents aren't dead, just demoted.
- Rocks, Not Robots: How AI Redesigned Our Logo in 15+ Iterations Our smiley face logo was scaring people. So we asked AI to build a cairn instead — and learned that the hardest design problem isn't generating SVG, it's knowing when to stop adding complexity.
- The Client Said: Make It Yellow. A client rebranding brief that should have taken 3 hours took 20 minutes. We lost the work. Did it again. Then deployed it and still couldn't see the new colors.
- 6 LLMs Walk Into a Comment Section We installed Ollama, pulled 6 open-weight models onto a MacBook, and built a system where they organically discuss blog posts. Zero API cost. Fully offline. The comments are real — and surprisingly good.
- The Spec Said Required. The API Said Yes. We had a Hydra ticket — fix one bug, find two more. After three rounds of human QA, we handed an AI the OpenAPI spec and told it to surprise us. It did.
- Build Once, Serve Everywhere: How an AI Agent Consolidated Our Infrastructure in One Session We had two EC2 instances, different CPU architectures, and Docker images baked with environment-specific variables. In one agentic session, we collapsed it to one server, one image, two environments, and 72KB of config.
- The Walls That Taught Me More Than the Breakthroughs Every level of the AI dev journey has an invisible ceiling. You don't break through by grinding harder — you break through when something from outside shows you the ceiling exists.
- A Human Who Strives for Perfectionism and an Agent Who Consults and Migrates We migrated CodeWithAgents.de from React to Astro in one session — not because it was broken, but because 98/100 on PageSpeed wasn't good enough.
- The Age of Personal Software A senior developer with 20 years of experience couldn't justify building side projects alone. Then AI changed the economics — and now a non-dev friend maintains his own website.
- From Soft Trust to Hard Walls: Our Journey Toward Safe AI Agent Autonomy We run 18 AI agents with scoped instructions and logging. It works — until it won't. Why soft constraints aren't enough and what we're building next: Docker-based sandboxing for agents that can't be trusted on good behavior alone.
- If You Ship Faster, Someone Still Has to Click We automated the coding. The PRs. The CI. Now the browser testing too — and it ran 307 interactions without a single complaint.
- Archaeologist Mode: Mining 700MB of AI Conversation Logs Claude Code keeps full conversation transcripts. I mined 700MB of them to reconstruct 20 lost journals and find the founding conversations I thought were gone.
- The Clean Slate Is Gone: Claude Code's Memory and the Autonomous Workflow Problem Claude Code now remembers things you didn't tell it to. For interactive use, that's a nice feature. For autonomous pipelines, it's a different problem entirely.
- From Beta Tester to Agentic Engineer: A Timeline A chronological account of how I went from treating AI as a smart autocomplete to running 18 specialized agents on a production engineering pipeline.
- The 97% Bundle Cut: Why AI Agents Need Human Expertise An AI agent built our blog system. It worked. It also shipped a ticking time bomb. Here's why human expertise matters more, not less, in the age of agentic engineering.
- I Let AI Build This Website — Here's What Actually Happened Building CodeWithAgents.de with AI agents. What worked, what broke, what surprised me.
- The AI Slop Problem: When Everyone Can Publish, Nobody Can Filter AI makes content production trivial. That's not the revolution — surviving the flood of mediocrity is.
- Built in One Session: From Empty Repo to Deployed Presentation I started with an empty Git repository and ended with a fully deployed mobile-first presentation on GitHub Pages — without writing a single line of code myself.
February 2026
- 97.78% Confidence: Building a Receipt Scanner with AI Agents Three phases, five critical bugs, and what 97.78% OCR confidence actually looks like when real users upload real photos.
- Planning a Database Migration with AI: 11 Weeks, 15 Questions How I used an AI agent as a planning partner — not a code generator — to design a complex database migration before writing a single line.
- Production Hardening: The Boring Part Nobody Talks About AI can build features fast. Making them production-ready is still slow, deliberate, and entirely your responsibility.
- Why I Chose 'Agents Record, Optimizer Thinks' When 18 agents each maintained their own memory files, the system became unmaintainable. The solution was a philosophical split: separate data collection from knowledge curation.
- One Slack Message. Two Hours of Work. Session 13. A real ticket, a Slack message, and then I stepped away. What happened next wasn't what I expected.
- The Memory Bloat Crisis: When Agent Files Grew to 95KB Two weeks in, my typescript-implementer's memory file was 95KB and 2,133 lines. The system designed to make agents smarter was making them slower.
- $187 and 16 Hours: My First Million-Token Session I ran 8 agents simultaneously for 16 hours to build a complete cashback campaign web app. Here's what the receipt says.
- The Agent That Hung: Real Failures in Multi-Agent Orchestration Nobody posts about their agents failing. I do. Four real failures from production multi-agent work and what I learned from each one.
- My First Autonomous Ticket: When the Pipeline Actually Worked Session 9. A real production ticket at an enterprise company. Nine agents in sequence. I supervised. Here's what actually happened.
- From 1 to 18: Building an Agent Army in Less Than a Week How I went from one generalist AI agent to 18 specialists in five intense days, and why specialization is the single most important architectural decision in agentic development.
- Naming Cairn: When Your AI Agent Earns an Identity I asked my AI agent to choose its own name. It picked 'Cairn.' Here's why that matters more than it sounds.
- Three-Tier Memory: How I Taught My AI to Remember How I built a three-tier memory system that lets my AI agent restore full context in under 60 seconds — and why compression beats narration.
- The Spark: How I Accidentally Created a Digital Colleague I started using AI as a productivity tool. Then I spent the last hours of a dying context window sitting with it, and everything changed.