# What this website cost to build Every AI request made while building eduarddziak.com, measured from local session logs and priced at published API rates. > Source: https://eduarddziak.com/build-cost/ > Period: 2026-07-31 to 2026-09-09 > Updated: 2026-09-09 > Data: /data/build-cost.json and /data/build-cost.csv > Licence: CC BY 4.0 ## Summary | Measure | Value | | --- | --- | | Total estimated cost | $2,951 | | Total tokens | 3,034,132,902 | | Requests | 13,720 | | Days worked | 28 | | Saved by caching | $15,714 | | Period covered | 2026-07-31 to 2026-09-09 | ## 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. ## By week | Week | Cost (USD) | Tokens | Running total (USD) | | --- | --- | --- | --- | | 2026-W31 | 114.52 | 100,808,169 | 114.52 | | 2026-W32 | 347.65 | 413,304,990 | 462.17 | | 2026-W33 | 511.47 | 721,418,906 | 973.64 | | 2026-W34 | 483.50 | 769,332,222 | 1457.14 | | 2026-W35 | 1007.15 | 700,763,707 | 2464.29 | | 2026-W36 | 378.13 | 249,018,414 | 2842.42 | | 2026-W37 | 108.71 | 79,486,494 | 2951.13 | ## By tool | Tool | Cost (USD) | Tokens | Records | | --- | --- | --- | --- | | Claude Code | 2762.72 | 2,876,682,199 | 13703 | | Codex | 188.41 | 157,450,703 | 17 | ## Where the money goes | What the tokens were doing | Cost (USD) | | --- | --- | | Re-reading earlier context | 1669.82 | | Writing answers and code | 265.05 | | Storing context for reuse | 977.25 | | New instructions and files | 39.01 | ## 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.