The shapes you already know, across every machine you paired.
Every view at app.haltonmeter.com/[workspace]/* reads from the cloud’s
Postgres mirror of your paired daemons’ SQLite data. The local terminal
report (halton-meter report) and the cloud dashboard show the same
shape — same project groupings, same cost model, same provider
breakdown — just summed across machines instead of one machine at a
time.
Overview
/[workspace]/overview is the default landing page after sign-in. It
shows:
- Headline numbers — today’s spend, this month, last month, the variance against budget if one is set.
- Last-30-days area chart — daily spend, stacked by provider, with the workspace’s previous-period baseline overlaid.
- Top 5 projects this period — sorted by spend, click-through to the per-project view.
- Top 5 models this period — sorted by spend, useful for spotting unexpected expensive model use.
- Sync status banner — green when every paired device is ACTIVE, amber when one is DEGRADED, red when any device is PAUSED.
This is the executive view by default. The headline numbers are read-only; clicking through goes to the relevant deep view.
Per-project view
/[workspace]/projects/[slug] shows everything about one project:
- Spend over time — daily, weekly, monthly aggregations.
- By developer — which paired machine contributed which share. If one developer’s spend doubles week-over-week, this is where you see it first.
- By model — what the project is using under the hood.
- Request volume — count of requests, with the cost line overlaid. Useful for spotting low-cost-per-request improvements that compound.
- Recent requests table — paged, last 100 rows by default,
searchable by
provider_request_id. Click a row for the request trace at/[workspace]/traces/[id].
The project view also drives the PDF report. Pick a period
(this month, last month, custom range), click “Generate PDF” — the
backend renders a branded WeasyPrint PDF with the workspace’s logo if
configured, the project’s hourly rate if set, and a methodology footer
linking back to /docs/concepts/pricing. The PDF is a stable artifact
you can attach to an invoice.
Reconciliation
/[workspace]/reconciliation is the load-bearing trust view. Three
columns per period:
| Period | What you logged | What the provider billed | Variance |
|---|---|---|---|
| 2026-05 (May) | $342.18 | $342.04 | $0.14 |
| 2026-04 (April) | $298.55 | $298.50 | $0.05 |
The “what the provider billed” column comes from the provider’s billing
API where we have one connected; otherwise from a manual paste of the
billing statement total. The variance column is sage (green) when
the delta is under 0.5%, amber (warning) when between 0.5% and 2%,
and red (investigate) when above 2%.
Click into a row for the per-day breakdown and the per-request investigation table. The audit log links from any specific request that contributes to a divergence.
In practice the variance lives at a few cents on a $300 month. When it diverges meaningfully, the typical causes are:
- Provider pricing change the daemon hasn’t yet picked up
(
rates.jsonupdates in a public commit; see Pricing rates). - Provider promo credit that reduces the billed total below what the daemon logged.
- Long-tail unattributed rows the daemon couldn’t tag, which the
cloud’s
attribution.tier_hittelemetry surfaces by tier.
Audit log
/[workspace]/audit shows every actor × event × resource tuple:
- Captured requests — one row per synced API call (paged, searchable).
- Membership events — invitations sent, accepted, revoked; role changes.
- Device events — pairings, revocations, renames.
- Config events — project rename, archive, policy changes.
- Billing events — plan change, payment method update, seat change.
Every row has the actor (user or daemon), the event name, the affected resource, the timestamp, and a free-form details JSON. CSV-exportable for procurement / compliance handoff.
The audit log is the answer when a client asks “show us how this number was computed” — it gives them the per-request provenance.
Optimisation
/[workspace]/optimization runs continuous analysis over the last 30
days of synced data and quotes a number per recommendation:
Swap Claude Sonnet 4.6 → Claude Haiku 4.5 on
acme-batch-summariserand save $42/month.Based on 4,287 requests in the last 30 days. The summariser’s prompts are well under 8k tokens and the model’s responses do not currently require Sonnet’s longer-context handling. Confidence: high. Click to see sample requests.
Recommendations come from realised usage patterns — not synthetic
benchmarks. The optimisation catalog
(/[workspace]/optimization/catalog) lists every check that has fired
historically and lets you suppress checks for specific projects.
The “Realised savings” view tracks money saved against recommendations you have accepted, so you can quote a concrete number back to the team or the client.
Executive view
/[workspace]/executive is the page to send to a CFO. Larger fonts,
fewer charts, the headline numbers and the period-over-period change.
Includes:
- This-month spend, last-month, year-to-date.
- Top 3 projects with their share of total spend.
- Variance against reconciliation (the trust signal).
- A signed PDF “executive summary” export with the same content, suitable for board packs.
Cost centers and clusters
/[workspace]/cost-centers and /[workspace]/clusters let you group
projects into business units (e.g. “Client Work”, “R&D”, “Internal
Tools”) and roll up across them. Useful for orgs that bill different
client engagements through the same workspace.
Clusters are a similar grouping at a different level — group
requests by request shape (the prompt_hash field) to find duplicates,
caching opportunities, or accidental loops.
Filtering
Every view supports the same filter rail:
- Date range — last 24h, last 7d, last 30d, this month, last month, custom.
- Provider — multi-select Anthropic, OpenAI, Gemini, xAI.
- Model — multi-select per provider.
- Project — multi-select project slugs.
- Developer / device — multi-select paired machines.
- Cost center — when configured.
Filter state is persisted to URL query parameters so a filtered view is shareable.
Exporting
Three exports today:
- PDF reports — per-project from the project view; executive summary from the executive view; both branded with the workspace name.
- CSV — the recent-requests table on any view exports the visible rows as CSV.
- JSON — the API surface at
https://api.haltonmeter.com/v1/[workspace]/...returns everything the dashboard reads. Auth via the workspace’s API key (/[workspace]/settings/advanced→ “API keys”).
Scheduled S3 / GCS export is on the Team plan roadmap (see Build plan).
See also
- Cloud overview — what the hosted cloud adds
- Connect your meter — pair a machine
- Workspaces — per-workspace members and projects
- Sync and retention — what’s behind every chart
- Pricing methodology — how each row is priced
halton-meter report— the per-machine report shape that rollups extend