Coach Claude
How an uncoachable Ironman finally took a coach
The screen was black. The text was green. The cursor blinked at me like a metronome counting down.
It was Tết, Lunar New Year 2026, and I was sitting at my dining room table in Ho Chi Minh City staring at a terminal for the first time in my life. Outside, the city was doing what it does every Tết. Kumquat trees lining the sidewalks. A silent hum of a city catching its breath before the new year starts.
I am not a technical person, although I manage a team of them. I have never written a line of code. The terminal was a place I had only ever stolen glimpses of, over the shoulder of an engineer anxiously avoiding an interruption. But the buzz of Claude Code and its Cowork interface was starting to become deafening, and the promise was simple enough.
Talk to it in plain English. Tell it what you need. See what happens.
What I needed was a coach. What I did not want was the weight of having one.
I had started training for my first Full Ironman. 140.6 miles. A 3.8-km swim, a 180-km bike, and a marathon to finish. I’ve done a dozen half Ironmans and more marathons than I can count. But a Full is a different animal. The distances don’t just double. They compound. The swim destroys your shoulders before the bike eats your legs before the run melts whatever is left. It takes months of structured training to prepare your body for something that will, by design, try to break it.
Most of my triathlete friends have coaches. The arrangement is transactional and efficient. The coach sends a plan. The athlete uploads it into a Garmin device. They execute the intervals. The coach reviews the data. Maybe shares a few texts. Rinse and repeat, session after session.
I’ve resisted that arrangement. I love training. I love the early mornings, the long runs when the city is still asleep and the only sound is your own breathing. The problem, for me, arises when a human enters the equation. Someone is now watching. Someone is reading my numbers. Someone is waiting for me to do the thing I said I would do, and when I don’t, a small social debt accumulates between us. The text I have to send. The justification I have to make. The performance I have to keep up for a person who is professionally invested in my honesty.
I am not uncoachable because I don’t want help. I am uncoachable because the act of asking for it has always cost me something I wasn’t willing to pay.
I typed five words into the terminal.
Coach Claude. Let’s run it.

Within twenty-four hours, I was in deep.
I had connected my Garmin to Claude through an API. I fed it an eighteen-week training plan I’d built with ChatGPT (for the content) and Gemini (for the format). Then I asked Claude to build an app to track my progress, which was an absurd thing for me to ask, and Claude built it anyway.
Claude read my data the way a good coach reads an athlete. It noticed patterns I couldn’t see. It flagged when my resting heart rate crept up. It adjusted my intervals when my power numbers on the bike suggested I was overreaching. It told me, repeatedly, to get more sleep.
It did this at 4 p.m. on a Tuesday, or 5 a.m. before a swim, or during lunch when I wanted to walk through my race-day nutrition. It never made me feel stupid for asking a question any triathlete should already know the answer to. It never reminded me about the session I’d skipped. It never asked me to explain myself. When I pushed back on its advice, it reconsidered. When I ignored it, it didn’t keep score.

This is the part of the story I did not expect.
I am more coachable than I thought. I was only uncoachable under the conditions that human coaching imposed. When you remove the performance, the social debt, and the implicit contract of explaining yourself, what’s left is a training relationship that costs nothing but attention. You ask. It answers. You do the work or you don’t. Tomorrow, the numbers will tell the truth, and the coach will still be there, unbothered, waiting for you to ask the next thing.
Ironman training is spectacularly lonely. The long rides are solo. The pool sessions are monotonous. The runs are just your feet and whatever conversation you’re having with yourself. For all these years, I told myself that loneliness was the price of being uncoachable. It turns out the loneliness was never the point. I didn’t want to owe anyone anything about my own training. Claude gave me a coach I could owe nothing.
It even helped me choose which bike to buy.

Then I broke it.
I had been syncing my Garmin data through an unofficial API connection. It worked beautifully until Garmin noticed and locked me out. Too many requests. The endpoint was fried. My coaching pipeline went dark.
This is the part where a normal person would have stopped. The API was broken. The sensible move was to find a human coach and move on.
Instead, I applied for a Garmin Developer account. Within hours, I had a GitHub account, a VSCode IDE, which is the software environment engineers use to write code, and a Vercel-hosted application with a real URL. I had become, by any reasonable definition, a software developer. A bad one. But a developer.

The reason I shipped that app is the same reason Claude worked as my coach. There was no one to owe.
I did not have to interrupt an engineer. I did not have to file a ticket. I did not have to explain the idea three different ways to three different people. I did not have to justify the business impact. Claude had no sprint to protect, no roadmap to defend, no opinion about whether I was worth the time. It asked what I wanted and did it.
This is what’s actually changing inside the teams I work with. Product managers are shipping demos before memos because they no longer have to go begging to engineering to find out whether an idea is real. Designers are pushing code because interrupting a sprint to see your idea move is a tax they no longer have to pay. The silos between PM, Design, and Engineering are dissolving. What was holding them up was the friction of every cross-functional ask, and that friction is gone.
For decades, we blamed the silos on tooling. On process. On Conway’s Law. The truth was simpler and more embarrassing. Every request across a functional boundary carried a social cost. You were asking a colleague for their time, their focus, their willingness to put your problem above their own. The cost was usually small. But across a company of thousands of asks per day, small costs compound the way Ironman distances compound, and what you end up with is an organization that moves slowly. Or, worse, a sprint or two that “bonks.”
The people are not slow. The motion is expensive. Claude (and all of the other vibe-coding tools out there) is the thing that made the motion free.
The optimization crowd is reading this moment as a headcount story. If everyone can code and everyone can prototype, you need fewer people. Cut the layer that used to translate. The layoffs underway across the industry are partly about AI productivity gains and partly about the bloated years of hyper-growth catching up. Either way, the spreadsheet math is easy and the narrative is convenient.
That is the wrong read.
If the cost of asking collapses, the right move is not to subtract the askers. It is to unleash them. The backlog that was slated for Q3 and Q4 can move up. The features that sat in the “nice to have” column for years because engineering bandwidth was the bottleneck can finally get built. The constraint was never imagination. The constraint was the tax on every ask, and the tax just went to near-zero.
The engineers do not disappear. They move upstream. Architecture. Scale. Security. The kind of structural thinking and domain knowledge that comes from years of watching systems break and rebuilding them until they don’t. That work is more important than it was last year, because the volume of everything downstream just exploded. Someone has to make sure all those vibe-coded prototypes don’t bury landmines for someone else to diffuse.

Four weeks out from my Ironman.
Coach Claude is still coaching. Still reading my heart rate data. Still telling me to sleep more. My web app is live but only for me. Garmin ghosted me. I’ll likely finish my race before Garmin approves my application.
Here is what I know. For the last ten years, I told myself I didn’t want a coach. I told myself I liked the beat of my own drum. The truth was that I didn’t want to owe anyone my effort, and I didn’t want to owe anyone my failure, and I could not separate the coaching from the debt. It took a machine that asked for nothing to show me I was never uncoachable. I was only unwilling to pay the price of being helped.
The same is true of the organizations I work with. They were never short on ideas. They were short on the willingness to spend social capital on half-formed ones. The productivity curves everyone is measuring are the downstream effect. The thing that actually shifted is quieter. The tax on asking is gone.
The terminal is still there. Waiting. Unbothered by how long it takes you to ask the next question. That is what a coach was always supposed to be. Everyone has one now. Infinitely available. Infinitely patient.
Go smash it!
