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

November 2026

  1. Case study 8 min Five Minutes, One Hour, Three Days For a webinar I showed three builds of the same kind of RAG assistant: a bare prompt, an unattended Opus run, and three days of sessions with me at the wheel; what the Opus run decided on its own is the part that still needs a person.

October 2026

  1. Story 7 min I Asked Every Claude Model for a Game As a youngster I wanted to make games and stopped at the unknowns; now every new Claude model gets the same request, and in about four weeks of building a Hanseatic trading game with Fable 5 I never found its limit.

June 2026

  1. Deep dive 8 min 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.
  2. Opinion 7 min 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.
  3. Deep dive 6 min 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.
  4. Story 11 min 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

  1. Story 5 min 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.
  2. Deep dive 9 min 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.
  3. Story 6 min 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

  1. Story 9 min 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.
  2. Opinion 9 min 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'.
  3. Deep dive 32 min 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

  1. Deep dive 6 min 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.
  2. Deep dive 10 min 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.
  3. Deep dive 10 min 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.
  4. Opinion 7 min 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
  5. Deep dive 8 min 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.
  6. Deep dive 6 min 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.
  7. Deep dive 8 min 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.
  8. Case study 8 min 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.
  9. Case study 8 min 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.
  10. Case study 7 min 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.
  11. Case study 6 min 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.
  12. Deep dive 11 min 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.
  13. Deep dive 6 min 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.
  14. Case study 5 min 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.
  15. Deep dive 6 min 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.
  16. Deep dive 10 min 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.
  17. Case study 6 min 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.
  18. Deep dive 4 min 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.
  19. Deep dive 7 min 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.
  20. Deep dive 6 min 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.
  21. Deep dive 6 min 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.
  22. Case study 10 min I Let AI Build This Website — Here's What Actually Happened Building CodeWithAgents.de with AI agents. What worked, what broke, what surprised me.
  23. Deep dive 4 min 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.
  24. Case study 7 min 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

  1. Case study 5 min 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.
  2. Case study 4 min 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.
  3. Tutorial 4 min 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.
  4. Deep dive 4 min 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.
  5. Case study 5 min 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.
  6. Deep dive 3 min 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.
  7. Case study 9 min $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.
  8. Deep dive 5 min 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.
  9. Case study 4 min 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.
  10. Case study 6 min 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.
  11. Deep dive 5 min 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.
  12. Tutorial 5 min 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.
  13. Deep dive 7 min 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.