← Back to Blog
Building in Public

When 80% Overhead Forces a Tool Change

christian crumlish•
A robot buckling under the weight of overhead, signaling the moment a tool change becomes unavoidable.
“Malkovitch, Malkovitch..”

When 80% Overhead Forces a Tool Change

July 6

Sometimes the right decision becomes obvious when you quantify the pain. My Claude Code adoption for Piper Morgan came down to a single, soul-crushing metric: 80% of development time spent on coordination overhead between AI assistants.

Mind you, this was still a massive improvement over the typos and bugs I created when I was attempting to make recommended code changes myself, but when most of my job started to consist of passing messages between LLMs (I can’t even say it’s because “I’m good with people!”) then I realized I needed to get a grip on that workflow.

Copy-paste development hell

Our workflow looked sophisticated on paper — Opus handling architecture, Cursor Agent doing implementation, Git managing version control, tests validating results.

In practice? Death by a thousand copy-pastes. Every feature required this elaborate dance:

  1. Explain context to Opus (15–30 minutes of re-context every time)
  2. Get architectural guidance
  3. Copy instructions to Cursor Agent
  4. Execute implementation
  5. Copy results back to Opus
  6. Get corrections
  7. Repeat steps 3–6 until something worked

How I described it to my Chief of Staff: “soul-destroying.” And you know what? That wasn’t hyperbole.

The hidden cost wasn’t just time — it was learning. Fragmenting work between assistants meant I saw pieces of solutions but never complete thought processes. Like trying to understand chess by watching every third move.

Or… do you remember that “whispers” game they taught us when we were little, and how garbled the initial message would sound when the last kid shared what they had heard? Yeah, like that.

The efficiency trap

Here’s what surprised me: coordination overhead was actually impairing my understanding. The prospect of adopting Claude Code as my coding assistant (instead of? in addition to? Cursor agent?) promised something different — complete implementation traces instead of fragments. The full problem-solving journey from architectural decision to working code, not just the highlights reel.

But this wasn’t happening in isolation. We’d already planned MCP (Model Context Protocol) integration for Week 4. The question: Would adopting Claude Code at the same time conflict with that plan or complement it?

Turned out, according to my chief of staff’s analysis, they’re synergistic. Claude Code reduces development friction, which frees capacity to accelerate MCP implementation, which enhances Piper’s capabilities, which enables better products.

Sometimes the best upgrade isn’t a smarter AI — it’s reducing friction between human and AI.

The decision framework

My Chief of Staff laid out the options:

Stay with current tools: Keep the 80% overhead for 4+ weeks while debugging continues

Switch to Claude Code immediately: Tool change overhead now, efficiency gains starting Week 2

Implement both in parallel: Maximum change, maximum chaos

We chose the middle path with a timing twist: finish current debugging first (Week 1), then Claude Code (Week 2), then MCP with improved tooling (Week 4+).

Why sustainability matters more than efficiency

The deciding factor wasn’t just speed — it was burnout prevention. When 80% of your time goes to mechanical coordination rather than creative problem-solving, you’re not just slow. You’re grinding yourself down.

To address the obvious “over-automation” concern, we designed some safeguards:

  • Mandatory code walkthroughs after each session
  • I write all architectural decision records myself
  • Routine “explain this code to me” sessions (I frequently remind the bots that I am doing this to learn and I want them to explain the code and their reasons to me)
  • Blog posts require deep understanding, not just surface familiarity

The goal isn’t coding without understanding. It’s understanding through complete implementations rather than fragmented glimpses.

The pattern behind the decision

This exemplifies something bigger about AI-assisted development: coordination overhead is the hidden killer. We obsess over AI capabilities but forget integration costs.

Fragmenting work across tools fragments understanding. Complete traces teach better than partial glimpses. And tool decisions are sustainability decisions — “soul-destroying” accurately described the daily experience.

I’m sharing this story a full two months after it happened and naturally my workflow has evolved significantly from that date, but adding Claude Code to the team was the last major change I made to my setup, and the broad outlines of how I started working that day still remain in my current methods.

What happened next

The implementation plan was straightforward:

  • Week 1: Complete debugging with current tools (no mid-stream changes)
  • Week 2: Claude Code setup with document summarization bug as test case
  • Week 3: Full adoption if we hit 50% overhead reduction
  • Week 4+: MCP implementation with sustainable tooling

Success wasn’t measured in features shipped. It was measured in sustainable velocity and continued learning. When 80% overhead drops to 40%, that’s not just efficiency — that’s space to think, explore, and build better.

Now, have I regained all 80% of that overhead? Hardly! I’m still the monkey in the middle. I’m still the only entity in the room with the whole picture in his head. And I still watch what both assistants are doing and occasionally say “Hey, what did you mean just then when you wrote it didn’t work but it doesn’t matter because the important thing is…?” and stuff like that

The meta-insight

The tools we choose shape not just what we build, but how we think about building. Coordination friction creates cognitive friction. When most of your energy goes to managing tool handoffs, very little goes to creative problem-solving.

Reducing that friction didn’t just make development faster — it made it more thoughtful. Less time copying and pasting meant more time understanding and iterating.

← Back to BlogAlso available on Medium