Stats
Nearly everything I build is written by a coding agent. This page tracks what that actually looks like: lines the agent wrote versus lines I wrote or edited by hand, the hours I spent driving it, which models did the work, and the chores that still needed a human. Numbers are weekly totals across all my projects; nothing here says which project.
- 100%of lines changed were AI-written239K AI · 0 by hand
- 111hours working with Claude27 sessions
- 24.6Mtokens Claude wrote6.3B read from cache
- 137chores done by hand13 hours
- AI-written
- By hand
- AI-written
- By hand
- Fable 5.1
- Fable 5
- Opus 4.7
- Opus 4.8
- Opus 5
- Other
- Fable 5.18.3M
- Fable 56.9M
- Opus 4.75.2M
- Opus 4.83.3M
- Opus 5804K
- Sonnet 53.1K
- Haiku 4.51.9K
- Commands to run52
- Secrets & auth33
- Cloud infra config25
- Accounts & billing9
- DNS & deploys9
- Manual testing9
- Other0
Weekly table
| Week | AI lines | Hand lines | AI commits | Hand commits | Claude hours | Sessions | Tokens out | Chores |
|---|---|---|---|---|---|---|---|---|
| Sep 7 – Sep 13, 2026 | 44,437 | 0 | 90 | 0 | 17h | 11 | 6.9M | 42 |
| Aug 31 – Sep 6, 2026 | 7,399 | 0 | 17 | 0 | 8.4h | 2 | 1.9M | 8 |
| Aug 24 – Aug 30, 2026 | 2,727 | 0 | 9 | 0 | 5.8h | 0 | 588K | 6 |
| Aug 17 – Aug 23, 2026 | 380 | 0 | 1 | 0 | 1h | 0 | 95K | 0 |
| Aug 10 – Aug 16, 2026 | 450 | 0 | 1 | 0 | 3.1h | 2 | 246K | 0 |
| Aug 3 – Aug 9, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Jul 27 – Aug 2, 2026 | 2,220 | 0 | 17 | 0 | 6.4h | 1 | 552K | 7 |
| Jul 20 – Jul 26, 2026 | 64,717 | 0 | 123 | 0 | 20h | 8 | 5.5M | 22 |
| Jul 13 – Jul 19, 2026 | 6,641 | 0 | 8 | 0 | 5.5h | 0 | 485K | 2 |
| Jul 6 – Jul 12, 2026 | 46,552 | 0 | 16 | 0 | 7.3h | 1 | 1.6M | 10 |
| Jun 29 – Jul 5, 2026 | 1,426 | 0 | 12 | 0 | 8.7h | 1 | 2.1M | 5 |
| Jun 22 – Jun 28, 2026 | 61 | 0 | 3 | 0 | 6.8h | 0 | 853K | 4 |
| Jun 15 – Jun 21, 2026 | 205 | 0 | 3 | 0 | 9.1h | 0 | 1.7M | 3 |
| Jun 8 – Jun 14, 2026 | 0 | 0 | 0 | 0 | 2.8h | 0 | 625K | 6 |
| Jun 1 – Jun 7, 2026 | 0 | 0 | 0 | 0 | 0.4h | 0 | 314K | 1 |
| May 25 – May 31, 2026 | 10 | 0 | 3 | 0 | 8.7h | 0 | 1.2M | 21 |
| May 18 – May 24, 2026 | 13 | 0 | 1 | 0 | 0.4h | 1 | 19K | 0 |
| May 11 – May 17, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| May 4 – May 10, 2026 | 1,405 | 0 | 16 | 0 | 0h | 0 | 0 | 0 |
| Apr 27 – May 3, 2026 | 1,686 | 0 | 15 | 0 | 0h | 0 | 0 | 0 |
| Apr 20 – Apr 26, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Apr 13 – Apr 19, 2026 | 13,055 | 0 | 58 | 0 | 0h | 0 | 0 | 0 |
| Apr 6 – Apr 12, 2026 | 36,880 | 0 | 67 | 0 | 0h | 0 | 0 | 0 |
| Mar 30 – Apr 5, 2026 | 5,445 | 0 | 34 | 0 | 0h | 0 | 0 | 0 |
| Mar 23 – Mar 29, 2026 | 3,221 | 0 | 28 | 0 | 0h | 0 | 0 | 0 |
| Mar 16 – Mar 22, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Mar 9 – Mar 15, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Mar 2 – Mar 8, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Feb 23 – Mar 1, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Feb 16 – Feb 22, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Feb 9 – Feb 15, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Feb 2 – Feb 8, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Jan 26 – Feb 1, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Jan 19 – Jan 25, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Jan 12 – Jan 18, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Jan 5 – Jan 11, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Dec 29 – Jan 4, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Dec 22 – Dec 28, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Dec 15 – Dec 21, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Dec 8 – Dec 14, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Dec 1 – Dec 7, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Nov 24 – Nov 30, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Nov 17 – Nov 23, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Nov 10 – Nov 16, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Nov 3 – Nov 9, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Oct 27 – Nov 2, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Oct 20 – Oct 26, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Oct 13 – Oct 19, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Oct 6 – Oct 12, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Sep 29 – Oct 5, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Sep 22 – Sep 28, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
| Sep 15 – Sep 21, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | 0 |
How this is measured
- AI vs hand. Every commit a coding agent makes carries a
Co-Authored-Bytrailer or an Assisted by Claude line. Lines added and deleted in those commits count as AI-written; all other commits count as by hand. That cuts both ways: a hand edit folded into an agent's commit is invisible, and an agent commit that lost its attribution counts as by hand. Before September 2026 I made no hand commits at all, so everything before then counts as AI-written. Lockfiles, vendored data, generated images and build output are excluded. - Hours. Local Claude Code sessions leave timestamped transcripts; time between messages counts as active up to a 15-minute gap, and parallel sessions are not double counted. Sessions run from the web or phone leave no transcript, so each is estimated at 30 minutes.
- Tokens. Every local transcript message records the model and its token counts. "Tokens Claude wrote" is output tokens, the model's own text, code and reasoning; the far larger cache-read figure is context re-read from the prompt cache on each request. Web and phone sessions are missing here too.
- Blind spots. Only Claude Code is measured for hours, tokens and chores. I also use Gemini CLI, Antigravity and Gemini now and then, and did so more a few months ago; that work shows up in the AI-written lines but nowhere else on this page.
- Chores. Things the agent could not do and handed back to me: run this in your terminal, click through a console, paste a secret, try it on your phone. A small model reads the last message of every local session turn and flags them, with an estimated duration; sessions from the web or phone leave no transcript, so those are missed.