Building this site: how we keep a cost calculator honest
The design question underneath every calculator here
Before any calculator on this site got built, there was a more basic design question to settle: what happens the day a number it depends on changes. A lot of cost calculators answer that question badly by accident, simply because nobody asked it up front — a rate gets typed into a formula somewhere in the code, the calculator ships, and the number sits there quietly going stale until someone happens to notice the output looks wrong. Answering that question deliberately, before writing the first calculator, shaped almost everything else about how this site is built.
Why every calculator reads from one place instead of owning its own numbers
The answer we landed on: no calculator, and no page, holds its own copy of a price, a context window, a cache minimum, or an effort level. Every one of them reads from a single, shared, explicitly dated source, and the calculator's own code contains no figures at all — only the logic that turns those figures into an answer for whatever you typed in. That's a meaningfully different shape than a calculator with a formula baked directly into it: change the source once, and every calculator that depends on that figure reflects the change immediately, with no separate edit required anywhere else.
The calculator design choice we expect to get pushback on
The flagship comparison on this site — subscription pricing against metered API pricing — doesn't publish a subscription price anywhere, including inside the calculator itself. That's a genuine usability trade-off, and we took the slower option on purpose: a pre-filled starting number would have made the calculator faster to try, at the cost of being wrong for some real share of the people trying it, silently, from the moment the page loaded. Typing in your own number instead takes longer to get to a result, but the result you get to is actually yours — built from what your account genuinely pays, not from a figure that happened to be true for someone else's plan on the day we last checked.
Why a calculator that says "we don't know" beats one that guesses
The same instinct extends to individual figures, not just whole categories like subscription pricing. Where a figure couldn't be sourced against something we treat as authoritative, the calculator that depends on it says so directly rather than substituting a plausible estimate that would look identical to a verified number. A calculator's whole value is that its output can be trusted enough to act on; a single silently-guessed input undermines that for every number the calculator produces, not just the one that was uncertain.
What this actually cost us in build effort
None of this was the fast way to build a cost site. A calculator with its numbers hardcoded directly into its own logic ships faster and is simpler to reason about in isolation. Routing every figure through a shared, dated module, and building the tooling that checks it stays current, was a genuine upfront cost that a faster build would have skipped. We think it's the only version of this site worth publishing, given what the calculators are actually being used to decide — but it's worth being honest that "built correctly" and "built quickly" pulled in opposite directions more than once during construction, and we consistently chose the former.
Why this shows up as a design decision, not just a backend one
It's tempting to file all of this under "implementation detail" — something happening behind the scenes that a reader using a calculator never sees or needs to think about. In practice it shapes the actual interface: the subscription field is empty by design rather than pre-filled, a "could not confirm" note renders as visible text on the page rather than being swallowed into a best guess, and a figure's verification date is something you can find rather than something buried in a commit history nobody reads. The architecture and the interface are the same decision, seen from two different places.
Related
See what we could not confirm, and why that matters for the specific admission side of this discipline, and how we source every number on this site for how each figure actually gets verified before it ever reaches a calculator.
Verified 2026-08-08 against ClaudeHow facts module (src/data/facts/) — see /about/#accuracy.