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, what it cost, 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-written815K AI · 32 by hand
- 314hours working with Claude170 sessions
- 110Mtokens Claude wrote38.8B read from cache
- $6.9Kspent, all inClaude, Jev and Google Cloud
- 604chores done by hand79 hours
- AI-written
- By hand
- AI-written
- By hand
- Opus 5.5
- Opus 5
- Fable 5.1
- Fable 5
- Opus 4.7
- Opus 4.8
- Other
- Opus 5.574.6M
- Opus 59.6M
- Fable 5.19.4M
- Fable 57.2M
- Opus 4.75.2M
- Opus 4.83.5M
- Gemini 3 Flash280K
- Haiku 5.5144K
- Sonnet 53.1K
- Haiku 4.51.9K
- Claude
- Jev (TypeSafe)
- Cloud
- Other
- Cloud infra config151
- Commands to run126
- Secrets & auth100
- Manual testing79
- Accounts & billing55
- DNS & deploys52
- Other41
Weekly table
| Week | AI lines | Hand lines | AI commits | Hand commits | Claude hours | Sessions | Tokens out | Spend | Chores |
|---|---|---|---|---|---|---|---|---|---|
| Oct 26 – Nov 1, 2026 | 15,439 | 0 | 49 | 0 | 11.6h | 7 | 3.3M | $86 | 19 |
| Oct 19 – Oct 25, 2026 | 67,932 | 0 | 79 | 0 | 56.8h | 33 | 30.2M | $2.2K | 176 |
| Oct 12 – Oct 18, 2026 | 337,279 | 0 | 537 | 0 | 71h | 64 | 40.9M | $2.3K | 187 |
| Oct 5 – Oct 11, 2026 | 37,861 | 0 | 35 | 0 | 21.3h | 9 | 1.6M | $91 | 18 |
| Sep 28 – Oct 4, 2026 | 0 | 0 | 0 | 0 | 3.2h | 4 | 275K | $55 | 9 |
| Sep 21 – Sep 27, 2026 | 0 | 0 | 0 | 0 | 9.4h | 3 | 485K | $93 | 7 |
| Sep 14 – Sep 20, 2026 | 57,339 | 0 | 129 | 0 | 23.4h | 15 | 7.6M | $178 | 49 |
| Sep 7 – Sep 13, 2026 | 105,993 | 32 | 108 | 1 | 19.5h | 12 | 7.3M | $166 | 44 |
| Aug 31 – Sep 6, 2026 | 7,399 | 0 | 17 | 0 | 8.4h | 2 | 1.9M | $75 | 8 |
| Aug 24 – Aug 30, 2026 | 2,761 | 0 | 10 | 0 | 5.8h | 0 | 623K | $101 | 6 |
| Aug 17 – Aug 23, 2026 | 70 | 0 | 1 | 0 | 1h | 0 | 189K | $57 | 0 |
| Aug 10 – Aug 16, 2026 | 0 | 0 | 0 | 0 | 3.1h | 3 | 402K | $65 | 0 |
| Aug 3 – Aug 9, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $43 | 0 |
| Jul 27 – Aug 2, 2026 | 2,220 | 0 | 17 | 0 | 6.4h | 1 | 552K | $53 | 7 |
| Jul 20 – Jul 26, 2026 | 64,412 | 0 | 122 | 0 | 20h | 8 | 5.5M | $193 | 22 |
| Jul 13 – Jul 19, 2026 | 6,641 | 0 | 8 | 0 | 5.5h | 0 | 485K | $23 | 2 |
| Jul 6 – Jul 12, 2026 | 46,552 | 0 | 16 | 0 | 7.3h | 1 | 1.6M | $30 | 10 |
| Jun 29 – Jul 5, 2026 | 1,426 | 0 | 12 | 0 | 8.7h | 1 | 2.1M | $36 | 5 |
| Jun 22 – Jun 28, 2026 | 61 | 0 | 3 | 0 | 6.8h | 0 | 853K | $76 | 4 |
| Jun 15 – Jun 21, 2026 | 205 | 0 | 3 | 0 | 9.1h | 3 | 1.7M | $65 | 3 |
| Jun 8 – Jun 14, 2026 | 0 | 0 | 0 | 0 | 2.8h | 0 | 625K | $20 | 6 |
| Jun 1 – Jun 7, 2026 | 0 | 0 | 0 | 0 | 0.7h | 2 | 314K | $5 | 1 |
| May 25 – May 31, 2026 | 10 | 0 | 3 | 0 | 8.7h | 0 | 1.2M | $198 | 21 |
| May 18 – May 24, 2026 | 13 | 0 | 1 | 0 | 1.1h | 1 | 53K | $17 | 0 |
| May 11 – May 17, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $0 | 0 |
| May 4 – May 10, 2026 | 1,405 | 0 | 16 | 0 | 2.6h | 0 | 198K | $40 | 0 |
| Apr 27 – May 3, 2026 | 1,686 | 0 | 15 | 0 | 0.5h | 1 | 49K | $8 | 0 |
| Apr 20 – Apr 26, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $39 | 0 |
| Apr 13 – Apr 19, 2026 | 13,055 | 0 | 58 | 0 | 0h | 0 | 0 | $45 | 0 |
| Apr 6 – Apr 12, 2026 | 36,880 | 0 | 67 | 0 | 0h | 0 | 0 | $45 | 0 |
| Mar 30 – Apr 5, 2026 | 5,445 | 0 | 34 | 0 | 0h | 0 | 0 | $45 | 0 |
| Mar 23 – Mar 29, 2026 | 3,221 | 0 | 28 | 0 | 0h | 0 | 0 | $47 | 0 |
| Mar 16 – Mar 22, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $50 | 0 |
| Mar 9 – Mar 15, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $50 | 0 |
| Mar 2 – Mar 8, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $50 | 0 |
| Feb 23 – Mar 1, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $48 | 0 |
| Feb 16 – Feb 22, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $45 | 0 |
| Feb 9 – Feb 15, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $45 | 0 |
| Feb 2 – Feb 8, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $45 | 0 |
| Jan 26 – Feb 1, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $45 | 0 |
| Jan 19 – Jan 25, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $0 | 0 |
| Jan 12 – Jan 18, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $0 | 0 |
| Jan 5 – Jan 11, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $0 | 0 |
| Dec 29 – Jan 4, 2026 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $0 | 0 |
| Dec 22 – Dec 28, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $0 | 0 |
| Dec 15 – Dec 21, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $0 | 0 |
| Dec 8 – Dec 14, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $0 | 0 |
| Dec 1 – Dec 7, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $0 | 0 |
| Nov 24 – Nov 30, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $0 | 0 |
| Nov 17 – Nov 23, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $0 | 0 |
| Nov 10 – Nov 16, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 0 | $0 | 0 |
| Nov 3 – Nov 9, 2025 | 0 | 0 | 0 | 0 | 0h | 0 | 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 and Gemini CLI 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. Hours and tokens come from what leaves a log on this machine: Claude Code, Gemini CLI, and the Antigravity command line (prompts only, no tokens). I also use the Antigravity editor and Gemini itself 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 are detected from Claude Code only.
- Spend. The Claude subscription is spread across each billing cycle in proportion to activity, so idle weeks cost nothing. Jev (TypeSafe) is the per-request cost logged by the proxy every call goes through. Google Cloud is the billing export, per day with credits applied; it only reaches back to late July 2026, when the export was switched on. Usage credits bought on top of the Claude plan are not visible anywhere and are missing. An estimate of what building this way costs, not an invoice.
- 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.