Working with AI
How I work with AI, measured instead of described
Every coding session I run writes a transcript to disk — mine, and the ones my agents run without me. This page rolls both machines into one chart: days, lines, tokens, tool calls, instructions, split by whether anyone was watching. It is the least dramatic and most useful thing I can show about working with agents: what it actually looks like on a calendar.
Measured on my personal Claude only — my own account, my own projects. Work that ran on an employer's or a client's AI accounts is not counted here.
Every other page on this site argues that a number without a source gets removed rather than softened. This one turns the rule on the person making the claims. The figures come out of the session logs on the two machines I work from — this laptop, and the Linux box where my agents run unattended — and the generator that reads them is in the repository next to the page.
The log
Pick a measure, pick a range
One measure at a time and one bar per calendar day, quiet days included — a chart of only the busy days would be a different picture and a much more flattering one. An empty bar means nothing was recorded on either machine that day, which is not the same as nothing happening. Hover or tab across a bar to read that day.
Selected range
23M
tokens generated · 9 active of 9 days
- Tokens
- 23M
- Tools
- 19,336
- Instructions
- 503
- Lines
- +92,413 / −5,748
What the model wrote: code, prose and reasoning. Input and cache tokens dwarf it by two orders of magnitude and are left off the chart on purpose — they measure how much context was carried, not how much work was done.
How it's counted
Where each number comes from
Nothing here is inferred from a commit history or a billing page. It is read out of the raw session transcripts — the same files the tool writes while it works.
Tokens
Only what the model wrote back. The tokens it read run to 15.9B — a hundred times larger, and left off every chart here because they measure how much context was carried rather than how much work was done.
Instructions
Top-level turns only — the ones I typed, plus the one task message that starts each unattended agent run. Sub-agent turns look identical in the log and would have roughly tripled the count. 1,414 instructions set off 45,790 tool calls — about 32 per thing asked for.
Lines
Every edit result carries the diff hunks it applied. The counter adds up added and removed lines from those hunks, so this is a count and not an estimate. A newly created file counts its whole length.
How it ran
Sep 2026
Split by whether anyone was watching. Unattended means an agent picked up one task message and worked alone; everything else had me in the room. Never split by project or client — this says how the work happened, not who it was for.
- Manual
- 18,788 calls · 491 instructions
- Automation Agents
- 548 calls · 12 instructions
Each unattended run averages 46 tool calls off a single instruction, against 38 when I am typing, and wrote 2,141 lines in this range.
Models
Sep 2026
By tokens generated, so a chatty cheap model does not outrank an expensive one. Model choice is per task, not per project.
- Opus 5
- 23M · 34,643 replies
- Fable 5.1
- 621k · 251 replies
8.0M of those tokens were reasoning rather than output — 34% of everything generated in this range.
Tools
Sep 2026
What 19,336 calls in this range actually were. Individual MCP servers are bucketed — they name a client's toolchain, and this page names no client.
- Bash
- 12,886
- MCP
- 1,519
- WebFetch
- 1,395
- Edit
- 1,370
- Other
- 591
- Write
- 570
- Read
- 501
- WebSearch
- 390
About 38 calls for every instruction given, across 4 further tool types not shown.
Limits
What these numbers don't say
The same section every case study here carries, for the same reason: the limits are part of the claim rather than a disclaimer bolted under it.
The record starts mid-June, and not because the work did
Claude Code deletes its own transcripts after thirty days. Two months of history were already gone the first time this was measured. The snapshot behind this page is now kept deliberately, which is the only reason the chart can grow.
Lines added is a measure of motion, not of value
A new file counts every line in it, and a file rewritten twice counts twice. Most of this total is code arriving rather than code surviving — about a tenth of it was deleted again, by me or by the model, and those deletions are in the table under the chart rather than hidden.
A quiet day is not proof of a day off
Only sessions that leave a transcript are counted, on the two machines I work from. Work done in a cloud session or in the browser is invisible here, so an empty bar means nothing was recorded on either machine — which is a weaker statement than nothing happened.
Some of this ran with nobody in the room
The unattended half is agents working on their own: one task message, then dozens of tool calls and thousands of lines with no one typing. It is counted the same way as everything else and split out rather than hidden, because a tool call is a tool call — but an instruction I typed and a task an agent picked up are not the same unit of effort, and the page would be lying if it pooled them silently.
Old days shrink, and I only recently stopped that
Transcripts expire after thirty days, and until September the roll-up let an expired day overwrite the figure it had already recorded. 22 July went from 279 instructions and 12M tokens to 3 and 52k before anyone noticed. The rule is now that a day keeps the largest figure ever measured for it, so the record stops eroding — but anything older than about a month is a floor rather than a figure, and what was already lost is lost.
This is one developer's setup, not a benchmark
Two machines, one subscription, my projects and my agents. It measures how I work, including the work I hand to an agent and then do not watch. It is evidence of a practice, not a claim about what AI does for anyone else's team.
Nothing here identifies a project or a client
The generator reads sessions across all my work, on both machines, and throws away every path, repository, branch and prompt before it writes a file. Days and counts survive; nothing else does. The one split it makes is unattended versus not — never by project, client, company or agent.
Source: Claude Code session transcripts · 253 sessions across 47 working days · dates in Europe/Bucharest · last rolled up 9 Sep 2026
The point
An instrument beats an adjective
This page exists because “we use AI” is worth nothing and a measurement is worth something. It is the same argument I would make about your agent: if you cannot see what it did, you cannot tell whether it worked.