Problem
Someone is four hours into a working session and the product stops. There was no warning, no sense of how close they were, and no way to have spent the budget differently, because they couldn’t see it.
Solution
Show the limit before it binds. Quotas in these products are unusual in being both invisible and consumable at wildly varying rates, since one heavy request can cost what forty light ones cost. That combination makes the resource impossible to budget by feel, which is the argument for a meter that most other software doesn’t need.
Three things have to be visible, and only the first is commonly shipped:
- How much is left, in a unit the viewer can convert into work. A percentage is comprehensible. Tokens aren’t.
- When it resets. A limit with an unknown reset is indistinguishable from a wall, and the difference between waiting twenty minutes and waiting until next month determines whether someone goes and finds another tool.
- What the expensive things are. A viewer who learns that the deep research mode costs twenty times a normal question can make a choice. Without that, the meter reports a mystery.
Point three is where HAX guideline 16 applies directly: convey the consequences before the action. Marking cost at the point of choice, on the slow mode and the expensive model, is more useful than any amount of accuracy in the meter itself, because it reaches the viewer while they can still decide.
Thresholds beat continuous display. A meter shown at all times is ignored and makes an unbounded product feel like a metered one. Staying quiet until roughly three-quarters consumed, then appearing, gives the viewer room to change behaviour and keeps the surface clean for the majority of sessions that never approach the ceiling.
The moment of exhaustion needs to be treated as a designed state rather than an error. PAIR’s graceful failure argument fits exactly: say what happened, say when it ends, and offer a path. A cheaper model that still works, a queued request, or a clear upgrade route all leave someone able to continue. A bare notice that the limit is reached ends the session.
Attribution matters where a quota is shared. On a team plan, a limit consumed by a colleague is invisible and infuriating, and saying whose usage filled the bucket is the difference between a product problem and a people problem.
Use when
Usage is metered, limits are reachable in normal work, and costs vary enough between requests that people can’t estimate them.
Don’t use when
The limit is high enough that ordinary use never approaches it. Displaying a meter that reads full forever trains people to ignore the one indicator that would matter, and makes a generous product feel stingy.
Trade-offs
A visible meter changes behaviour, and not always for the better: people ration, use worse models for hard questions, and stop exploring. Hiding it produces the wall. Per-request cost marking is the most useful disclosure available and turns every interaction into a purchase decision. The unit is a genuine dilemma. Tokens are the honest measure, and almost nobody can turn a token count into an amount of work they recognise.
Checklist
- Is the remaining budget visible before it becomes urgent?
- Is the reset time stated precisely?
- Are expensive actions marked at the point of choice?
- Is the unit something a viewer can turn into an expectation of work?
- Does a stopped or regenerated response still count, and is that said?
- On a shared plan, can the viewer see whose usage applied?
- Is exhaustion a designed state with a path forward?
- Is there a cheaper option that still works at the limit?
- Does reasoning or tool use count separately from the visible answer?
- Does the meter stay quiet during the sessions that never approach the ceiling?
Compare
Claude publishes its rate limits and reset behaviour in documentation, so the ceiling is a checkable property rather than something discovered in use. ChatGPT meters by model tier and degrades to a lesser model at the limit. The session stays alive, and the drop in quality is the signal that a limit was hit. Perplexity counts the expensive mode separately from ordinary questions, which makes the costly action legible as its own budget rather than a silent drain on a shared one. GitHub Copilot meters premium requests against a monthly allowance and shows the consumption per request type. Nothing else here is itemised so finely.
Related
Model picker and mode switch are where the expensive choices are made and where cost marking belongs. Regenerate is the most common way a budget disappears unnoticed. Refusal is the other kind of no, where the limit is policy rather than quota. Context meter is the parallel limit measured in memory rather than money.