Since January the agents have written almost all the code. Somewhere in the spring we stopped needing to correct the pull requests. That created a weird problem: the hour of building became so productive that everything else started to feel expensive.

Time Value Paradox

A weird thing happened in how I valued my time and decided how to spend it. I was getting more done than ever. I should have had ample extra time available. However, now that I could get much more done in an hour of building, that hour became immensely more valuable.

To put this increase in productivity in perspective, we are currently averaging 24 pull requests merged per week. Last year we averaged 8.

This made it even harder to justify spending time on a lot of things:

  • writing
  • researching
  • brainstorming
  • meetings to discuss

Instead of engaging in these activities, now it’s easier to build and review. Then either adapt or toss and try something else.

This is great most of the time. Better to build three ideas, pick one, and refine, than to spend longer perfecting a plan.

An hour of building now produces so much that spending it on writing, research, or brainstorming feels like a luxury I can no longer afford.

The dopamine of shipping won.

I’m reclaiming the writing. I miss the slow thinking it provides. I lost sight of its value. I want to share all the cool things we are doing.

We’ve been moving so fast it’s taken me a while to understand how the work itself has changed. Twenty-five years of software engineering experience shifted in the last six to nine months.

The Work Now

We work in Claude Code.

Earlier, I said we rarely need to correct a PR. By that I meant us, humans. Pitting models against each other in code reviews is a different story.

Lately we’ve been having OpenAI’s Astra model via T3 Code do code reviews of Claude Code’s work (almost exclusively Opus 5.5 as of October 2026).

We get a PR ready with Claude Code, which includes having Claude publish an artifact for any feature pull request or large bug fix. These artifacts, often with visualizations, serve a dual purpose:

  1. help the rest of our team to understand what the code is doing
  2. provide great context for the reviewing agent to judge the code by

Then fire up T3 Code and ask Astra to do a deep code review towards making things more secure, easier to maintain, better tested against real-world scenarios, and free of hidden bugs. We then copy and paste the feedback from Astra in T3 Code back into the running Claude Code session.

For example, we recently did an upgrade the Apollo client and @vue/apollo-composable. All our tests passed. Smoke testing showed things were working fine. But Astra came back with three findings that were not obvious to my manual review:

Astra flagged three functional regressions in a large Vue/Apollo upgrade. I pasted the review into Claude Code; it confirmed and fixed them. Astra then re-reviewed and signed off.

Sometimes we’ll ask for additional reviews and iterate like this three or four times until nothing else is found. Sometimes the first pass is pretty complete.

This adversarial cross-model review finds behavioral regressions that existing tests and human review miss. We’ve learned to rely on this for all but the smallest of changes.

We use Notion as a place for the agents to maintain a dev log. We have a shared skill that instructs the agent to keep a summary of what it has done. This isn’t something anyone reads but it’s useful as a memory system and for reporting on all that we’ve shipped.

I have agents scan it to generate ideas for posts here. I was tempted at the start of this to have it generate full blog posts but that felt fake and defeated a big benefit of writing these by hand–helping to slow down and organize thoughts.

The code is a means to an end. Writing words for others to read is the end product. I’ll happily let the agents help shape the work, but the words will be mine (and yes I use mdashes). That’s the slow thinking I don’t want to lose.