iambogdan v3 preview

Why a v3

Same engineer. New site.

This site stays up until v3 is ready. v3 is a rebuild, not a reskin.

  1. A new design. Layout, colour, type and copy, all from scratch.

  2. Every state, tested. Each component has a Storybook story for every state, run in a real browser.

  3. Accessibility, enforced. Every story must pass an automated accessibility check (axe), or the tests fail.

The v3 home page design: a midnight-blue page with the headline “I build the app. And the agents inside it.”, the word “agents” in lime, next to an isometric stack of three layers labelled Sites, Agent and Data.

Work in progress Isometric art and logo subject to change.

The v3 home page · design v2.2
BA AI Engineer & Full-Stack TypeScript Developer

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.

26.4B tokens used across 89 working days
133,315 tool calls — files read, edits applied, commands run
3,530 instructions given, about 38 tool calls each
559,396 lines of code written with an agent in the room

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

12.0B

tokens used · 21 active of 22 days

Tokens
12.0B
Tools
54,141
Instructions
1,314
Lines
+220,210 / −10,966
1 Oct5 Oct9 Oct13 Oct17 Oct21 Oct

Everything the model processed, each response counted once: what it read, mostly the cached context it re-reads on every turn, plus what it wrote. The writing is the small part, about one token in 235. A day marked ≈ is an estimate; see the limits below.

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

Everything the model processed, each response counted once: 25.8B of it cached context re-read on every turn, 466M written to that cache, and 112M the model wrote back as code, prose and reasoning.

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. 3,530 instructions set off 133,315 tool calls — about 38 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

Oct 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
54,141 calls · 1,314 instructions
Automation Agents
0 calls · 0 instructions

Nothing ran unattended in this range — every call above followed something I typed.

Models

Oct 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.5
42M · 33,095 replies
Opus 5
5.2M · 5,557 replies
Fable 5.1
495k · 131 replies

21M of those tokens were reasoning rather than output — 44% of everything generated in this range.

Tools

Oct 2026

What 54,141 calls in this range actually were. Individual MCP servers are bucketed — they name a client's toolchain, and this page names no client.

Bash
26,098
MCP
7,687
Read
6,292
Edit
4,549
Write
3,274
WebFetch
2,745
Other
1,490
WebSearch
1,069

About 41 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.

Until 22 Oct 2026 every token was counted two to four times

A reply lands in the transcript as several lines, one per block of thinking, text or tool call, and each line repeats the usage of the whole reply. The roll-up added up every line. It now counts each reply once, and every day whose transcripts are still on disk was recounted from scratch. 13 days could not be: their transcripts are partly or wholly gone, so their token figures are the old count scaled by the ratio measured on everything that survived, and they carry a ≈. Instructions, tool calls and lines were always counted once.

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 · 566 sessions across 89 working days · dates in Europe/Bucharest · last rolled up 22 Oct 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.