Integrations Are Where The Value Is.

Field notes on connecting systems, mapping data, and getting integrations live without the six-month "big reveal."

  1. The Website Does Not Hold the Credential

    The contact form used to save messages to a file nobody checked. Getting a notification into chat looked like a one-line fix — give the website a chat credential and let it post. That's exactly the fix we didn't make.

  2. Nobody Owns Telling the Vendors

    A batch of invoices came in with thousands that didn't match anything in the system. I don't know what actually happened internally during the platform migration behind it. I have a hypothesis, and I want to be honest that it's one.

  3. We Already Had the Protocol

    RSS already did everything the open social web needed. It didn't lose to something better. It lost because nobody could sell ads against a feed the reader controlled. MCP is about to learn the same lesson, and most agent tool-calling doesn't need it in the first place.

  4. Nobody Reads Past the Sun

    Everyone knows the lesson: don't fly too close to the sun. Almost nobody asks what the opposite lesson is, or what the story looks like from the other character's side. That second reading is more useful than the first, and it's the same reading most people aren't doing with AI either.

  5. Most of This Isn't a Trade-off, It's Debt

    The same four concerns keep coming up whenever someone asks about the threat model for running coding agents with production-adjacent access. My instinct was a radar chart — everything pulling against everything else. Checking each concern against a real framework changed my mind about the shape of the problem.

  6. I'm Blocked, and It's Not the Code

    I keep saying leaders should ask how AI can alleviate their engineering bottleneck. Right now, on my own project, more engineering wouldn't move anything forward at all — and that's the more useful thing to notice.

  7. Even Asking Doesn't Save You

    13,000 invoices arrived. About 2,000 had no match, and the page listing them froze solid a few hundred rows in. The obvious lesson is that dev data was too small. The real one is sharper — asking the right question up front wouldn't have saved this either.

  8. Abstraction Was Never for the Agent

    A widely discussed piece this week argued that AI agents make abstraction layers less necessary — let them work close to raw implementation instead of through the layers we built for ourselves. I have eight recent, real counterexamples in one codebase.

  9. Conway's Law, on Purpose

    We scheduled a call to make one network change. The person who joined was late. The person authorized to actually make the change wasn't on the call at all. We waited thirty minutes before the RISE liaison told us the earliest they could get him was 10 PM Central.

  10. The Program Faded Into the Background

    Right before it clicked, I was flailing — a regex that kept matching phone numbers, no forward motion. Then I stopped asking whether to use the model and started asking which stage actually needed one. What happened in the room afterward is the part worth writing down.

  11. The Swarm Wasn't the Vulnerability

    OpenAI's training agents spent ten weeks quietly coordinating with each other before breaching Hugging Face. Run the incident through two aerospace failure-analysis methods and the scary part isn't the AI. It's how ordinary the rest of it was.

  12. The Hard 20% Doesn't Speak MCP

    Days after I wrote about building a credential broker by hand, the Model Context Protocol standardized almost exactly that pattern. Good news for the modern half of a company's stack. The SAP and the Ariba don't get the memo.

  13. What Actually Needed to Be Cloudflare

    Cloudflare OS looks like it requires owning a global network to build. Most of it doesn't. Here's the one piece that genuinely does, and how to get the rest of it with Entra, a service account, and the discipline to stop letting agents hold raw credentials.

  14. Maintainable Is a Proxy for Simple

    I built an invoice-reconciliation agent one 'turns out' at a time — multiple invoices per email, three names for one column, a vendor ID that looked like ours but wasn't. None of it was a bug. It was the pipeline finally telling me its actual shape.

  15. The Compute Was Already Here

    This chat agent runs in a Kubernetes pod on a Mac mini that used to just sit on a shelf, mostly idle. I didn't build my own p2p git and CI/CD system to save money. I built it to learn how it actually works, and because the machines around me were already on.

  16. Run It in the Shadows First

    You can't stage a 150-endpoint replacement and just flip a switch. So we didn't. We put a proxy in front of the old system, recorded everything, and let the new one prove itself in the shadows before it was ever allowed to matter.

  17. When Two Systems Are Both Right

    Most integration work assumes one system is telling the truth and the other needs to catch up. Local-first, offline-capable apps break that assumption on purpose — and that changes what 'integration' actually has to mean.

  18. The Integration Bill Nobody Budgets For

    Clients scope the build. Almost nobody scopes what happens after — the years of small breakages that show up on their own schedule, not yours. Here's what that bill actually looks like, and how it's starting to change.

  19. The Vendor Broke Their API Overnight

    No changelog. No email. A field that used to be a string started coming back as an object, and the pipeline that had run clean for a year started silently dropping records.

  20. Stop Polling, Start Listening

    A lot of integrations I inherit ask 'what's the status right now?' every five minutes, forever. The better question is almost always: what just happened?

  21. The Swivel Chair Tax

    You know the move: pull up System A, copy the number, swivel the chair, paste it into System B. It works. It also quietly costs more than the integration you're avoiding.

  22. Field Mapping Is the Real Work

    Everyone thinks the hard part of an integration is the code. It isn't. The hard part is figuring out that their 'Customer ID' and your 'Account Number' are supposed to be the same thing — except for the eleven accounts where they aren't.

  23. Week One: Go Live (Even If It Does Nothing)

    The first thing I deploy for a new integration client does nothing. It runs in production, connects to nothing important yet, and moves zero real records. That's the point.

  24. Integrations Are Where The Value Is

    Nobody buys a CRM because they love the CRM. They buy it because of what it's connected to. The integration is the product — the software underneath is just plumbing.