
# Dashboard deep-dive

[Dashboard tour](../getting-started/dashboard-tour) is the lap-around.
This page is the per-chart reference: what each one shows, what it's
derived from, and the gotchas.

## Filters

A date-range picker, a model picker, and a key picker sit at the top
of the dashboard. Setting any filter reloads every widget on the page
with the same filter applied. Filters are reflected in the URL so
links are shareable.

The default range is the last 30 days, ending today (UTC). Changing
the range:

- Updates the **Top models** ranking.
- Updates the **Eco impact** comparison.
- Restricts the recent-transactions table.

It does **not** change your credit balance, which is always live.

## Credit balance widget

- **Big number**: current balance.
- **Small number**: spent in the current calendar month.
- The colour of the band underneath is a heuristic: green if your
  current burn-rate would last the full calendar month, amber if not.

The widget pulls live; clicking **Top up** opens the Stripe checkout.

## Usage today widget

- **Top number**: total tokens today (UTC), all models.
- **Bottom number**: total credits spent today.
- **Bars**: per-model breakdown of today's tokens.

Hover any bar for the per-model token and credit total. Click a bar to
filter the rest of the dashboard by that model.

## Top models (last 30 days)

- Horizontal bar chart, ranked by total tokens descending.
- Each bar shows tokens; the value next to the bar shows credits.
- The 30-day window is fixed regardless of the page-level filter so
  the ranking is stable across page loads.

When fewer than five models have non-trivial usage, the chart shows
just the ones with data rather than padding with empty bars.

## Eco impact widget

The widget has three numbers and one comparison:

- **Energy** — total Wh estimated for the filtered range.
- **Carbon** — total gCO₂e estimated for the filtered range.
- **Per 1K tokens** — the normalised value, useful for comparing
  across ranges of different sizes.
- **Comparison** — the same usage replayed against your chosen
  baseline model. If your actual usage was lower-energy than the
  baseline, the widget reports the saving; if higher, it reports the
  gap. Pick or change the baseline from
  [Settings → Eco baseline](/dashboard/settings).

The widget refuses to display a comparison when the underlying
estimates' confidence is too low to be meaningful — the visible number
becomes "—" with a note explaining why.

## Recent transactions table

- Default sort: newest first.
- Sortable columns: timestamp, model, tokens, cost, latency.
- Filterable columns: model, provider, region, status.
- Clicking a row opens its detail page.

## Per-day usage chart

Below the recent-transactions table, a stacked column chart shows
tokens per day, stacked by model, for the filtered range. This is the
chart to use when explaining usage growth or detecting a spike.

The chart respects the page-level model filter — selecting a model up
top filters the chart to that one.

## Per-day cost chart

Same shape as the per-day usage chart but in credits. Use it for
budgeting and burn-rate analysis. The two charts share the same time
axis so they can be compared visually.

## Provider distribution

A donut showing the share of requests served by each upstream
provider in the filtered range. It's the fastest way to confirm a
routing-policy change actually took effect.

When a policy is supposed to keep traffic in a single provider but
the donut shows multiple wedges, check the policy and the per-request
`routing_trace` for the requests that escaped.

## Mobile dashboard

On a phone the dashboard collapses to a single column, the filters move
into a slide-up panel, and the per-day charts become scrollable. The
recent-transactions table becomes a vertical card list. Heavy
operations (large CSV exports, multi-key edits) still want the desktop
view.
