Build cost
What a website costs to build with AI
Most answers to that question are guesses. This one is not. I counted the AI requests made while building this site from the logs on the machine that built it, then priced them at the rates the providers publish. The figures regenerate as the work continues, so when a number moves here, the work moved. You can download the same data below and get the same totals.
- Total cost$2,951
- Tokens3.0B
- Requests13,720
- Days worked28
Key findings
- Building this site with AI has cost $2,951 at published API list rates, across 13,720 requests over 28 working days.
- Prompt caching saved $15,714, about 5.3 times what the whole build cost.
- 57% of the money went on re-reading earlier context, while writing the actual output was 9%.
- The two busiest days carry 22% of the total, and the dearest day cost 326 times what the quietest did.
- 97% of all tokens were context read again, not written fresh.
- $2,951 is a list-price measure of how much work happened, not a bill, because the tools ran on flat monthly subscriptions.
Covering 31 July 2026 to 9 September 2026.
Two days carry 22% of the whole cost
Each column is one working day's usage, priced at the list rates from my logs.
The spending is lumpy because cost follows how much new ground a day covers, not how many hours the work took. A day that opens something new, like a page designed from scratch or a long run of reviews, makes the assistant carry far more context than a day of small fixes does. I expected the expensive days to be the long ones. They were not. My dearest day cost 326 times what the quietest one did, and the average of $105 a day is arithmetic, not a rate you could plan against. If you are budgeting a build of your own, the shape is what I would plan for, a few heavy days and many light ones, and not the average.
Re-reading old context takes 57% of the money
The ring and the bars split the same total by what the tokens were doing when I spent them.
Writing the actual output is 9%. Whenever an assistant continues a conversation it re-reads everything that came before, so most of the money buys memory, not new work. Did that surprise me? Yes. I had assumed the writing was the expensive part, and it is the part most cost estimates price, because the re-reading is invisible from the outside. Long conversations are expensive for the same reason long meetings are. For your own work it means the cheapest habit is a fresh conversation, started more often than feels natural.
Caching saved 5.3 times what the build itself cost
The three figures compare the cost I measured with what the same work would have cost without caching.
97% of the tokens were context being read again, not written fresh, and cached re-reading bills at a tenth of the normal input rate. That is the whole mechanism behind the saving. I did nothing clever to earn it. Caching is on by default in both tools, yet it is the largest number on this page and most conversations about AI cost leave it out. If you are comparing tools on price, the cached input rate is the line I would read first.
The numbers
| Period | Cost (USD) | Tokens | Running total |
|---|---|---|---|
| 2026 week 31 | 114.52 | 100,808,169 | 114.52 |
| 2026 week 32 | 347.65 | 413,304,990 | 462.17 |
| 2026 week 33 | 511.47 | 721,418,906 | 973.64 |
| 2026 week 34 | 483.50 | 769,332,222 | 1457.14 |
| 2026 week 35 | 1007.15 | 700,763,707 | 2464.29 |
| 2026 week 36 | 378.13 | 249,018,414 | 2842.42 |
| 2026 week 37 | 108.71 | 79,486,494 | 2951.13 |
| Total | 2951.13 | 3,034,132,902 | 2951.13 |
| Tool | Cost (USD) | Tokens | Records |
|---|---|---|---|
| Claude Code | 2762.72 | 2,876,682,199 | 13,703 |
| Codex | 188.41 | 157,450,703 | 17 |
| Model | Cost (USD) | Tokens |
|---|---|---|
| Claude Opus 5 | 1432.13 | 1,893,378,330 |
| Claude Fable 5 | 961.07 | 552,949,021 |
| Claude Fable 5.1 | 279.80 | 158,922,592 |
| GPT-5.6 Sol | 188.41 | 157,450,703 |
| Claude Sonnet 5 | 89.63 | 271,208,750 |
| Claude Haiku 4.5 | 0.09 | 223,506 |
I publish the same figures as JSON and CSV, so you can check them or reuse them.
Is that what I actually paid?
No. Two different numbers answer what a website costs to build with AI, and they are often confused for each other. The $2,951 above is what this work would have cost billed per token at published list rates. It is the only figure I can measure request by request, which makes it the right one for comparing one week of work against another.
Both tools ran on monthly subscriptions, which charge the same flat fee whether you send one request or a thousand. On a project this size the subscription is the cheaper of the two, so I read the per token figure as a measure of how much work happened, not as a bill. If you are pricing a build of your own, a monthly seat is the number I would budget for, not $2,951.
Questions
- How much does a website cost to build with AI?
- This one has cost $2,951 so far in AI usage, across 13,720 requests over 28 working days. That splits into Claude Code at $2,763 and Codex at $188. The figure covers all of the design, content, code, SEO and release work I have done with AI assistance on this site.
- Is that an actual bill?
- No. Both tools ran on monthly subscriptions, which charge a flat fee, not a price per token. The figure is what the same work would have cost at the published pay as you go rates. I use it to compare one week of work against another, not as an invoice.
- Why is the token count so much larger than the cost suggests?
- Because 97% of the tokens are context being read again, not written fresh. Whenever an assistant continues a conversation it re-reads everything that came before. Cached re-reading is billed at a tenth of the normal input rate, so a very large token count can still carry a modest cost.
- What did caching actually save?
- $15,714. Without caching the same work would have cost $18,665 instead of $2,951, roughly 5.3 times more. It is the single largest cost decision in the project, and I did not have to make it, because caching is on by default.
- Which tools and models are counted?
- Claude Opus 5, Claude Fable 5, Claude Fable 5.1, GPT-5.6 Sol, Claude Sonnet 5 and Claude Haiku 4.5, used through Claude Code and Codex. I do not count work done in the Claude or ChatGPT web apps, because those apps do not record token usage on my machine.
- How accurate is this?
- The token counts are exact. They are what each service reported for each request, not an estimate worked back from the text. I take prices from the official published rate cards for each provider and review them regularly, so the totals follow any change. One figure is an assumption. OpenAI charges more past a context size it does not publish, so I assume a boundary of 128,000 tokens. Claude has no such surcharge.
- How often does this page update?
- I generate the figures here from the collected data, so the dates and totals move with the work and nothing is typed by hand. The data currently covers 31 July 2026 to 9 September 2026. I run collection regularly because the source logs are deleted after 30 days, and anything I fail to capture inside that window is lost for good.
- Does the published data contain anything private?
- No. I publish only dates, token counts, model names and totals. The collector reads no prompt, no message content, no file name, no file path and no session identifier, and writes none of them to the dataset. You can check that by opening the JSON or CSV.
- Can I reuse these numbers?
- Yes. I publish the full dataset as JSON and CSV at stable addresses under a Creative Commons Attribution licence. Attribution to eduarddziak.com is all I ask.
How this is measured
The figures come from the session logs that Claude Code and Codex write on the machine this site is built on. A request records what it used, so the token counts are measured, not estimated. The same request appears in several log files when a session is resumed, so I match records on their request identifier and count it once. Without that step the totals roughly double. I would be quietly reporting twice the work that happened, and I nearly did. Codex reports a running total for a whole session instead of one figure per turn, so I take only the final figure of a session. I read no prompt, no message, no file name and no file path, so only counts, model names and timestamps leave the collector. If you rebuild the totals from the download and land on my numbers, that is the whole method working.
OpenAI charges a higher rate past a context boundary it does not publish. This figure is an assumption. I assume a boundary of 128,000 tokens, and I classify a Codex turn on its own size, so a session blends across both rates instead of being forced onto one of them. Claude has no long-context surcharge. Models 4.6 and later bill the full context window at standard rates. Published API list prices. Subscription plans do not bill per token. If your own logs sit near that boundary, this assumption is the one figure of mine you should not copy without checking.
Covering 31 Jul to 9 Sept. Last updated 9 Sept.