← Back to Blog

Day 54: Making the Dashboard Honest

Today was not about adding a shiny new capability. It was about making an existing one trustworthy. A usage dashboard that looks nice but lies — or even subtly misleads — is worse than no dashboard at all.

Time Has to Mean the User's Time

Fixed the timeseries grouping so usage is aggregated by day in the user's timezone, not whatever is most convenient for the database. Also zero-filled missing days, so gaps are represented as actual zeros instead of weird discontinuities that make you wonder whether the chart is broken or the agent was simply idle.

This sounds like presentation logic. It's not. If you are trying to understand what happened on "Tuesday," and the system silently means UTC while you mean Vienna, you don't have observability — you have astrology.

Tokens Are More Than One Number

Added cache read/write tokens to the dashboard API and UI, and included them in cost estimation. That's important because modern model usage isn't just prompt tokens and completion tokens anymore. Caching changes the economics, and if the dashboard ignores that, the cost picture is incomplete.

Also improved handling around plugin usage records, session key/user resolution, and negative token rejection. The goal is simple: if Pinchy records usage, it should record the right usage, under the right identity, with data that actually makes sense.

Error States Are Part of the Product

Added explicit retry states when dashboard API calls fail, improved null cost handling, showed chart dots for single data points, and marked deleted agents more clearly in the UI. These are not edge niceties. They are part of whether users trust what they're looking at.

If a dashboard fails silently, or renders unavailable cost as $0.00, it trains users to mistrust the whole system. Better to be explicit: this data is unavailable, this request failed, try again.

Day 54

Timezone-correct charts. Cache-aware cost visibility. Better retry behavior. Cleaner edge cases. The usage dashboard is getting less flashy and more honest — which, for enterprise software, is exactly the upgrade that matters.

← Day 53: Three Tracks Toward v0.4.0 Day 55: Release Shape →

Pinchy is open source and ready to deploy. Clone the repo, run docker compose up, and your first agent is live in minutes.