Skip to content

Dashboard: burn-rate gauge (speedometer) widget #55

Description

@tangentlin

Motivation

The dashboard (src/dashboard/) currently shows historical series (cost over time, by model, by agent) via Chart.js. A live-feeling "burn rate" gauge — a speedometer/fuel-gauge needle showing current tokens/min or $/hr — would be the dashboard's signature visual and directly on-brand for "Burnbar."

Proposal

Add a gauge widget (needle + arc, animated transitions between readings) showing the current burn rate, with color bands (cool → hot) as intensity rises.

Feasibility notes

  • The dashboard is a full BrowserWindow with Chart.js already bundled via esbuild — gauges are achievable with a Chart.js gauge/doughnut-based plugin or hand-rolled canvas, no new architectural surface needed.
  • Requires the same burn rate derivation as the tray-flame idea (issue: tray icon animated flame) — worth deriving it once in derive.ts/capture-service.ts and sharing between the tray and dashboard rather than computing it twice.
  • Read-only via the existing archive:get-series IPC channel; if burn rate needs finer-grained (sub-daily) data than the current archive grain, that's a scoping question to resolve before implementation.

Acceptance criteria

  • Gauge widget added to the dashboard, animating needle transitions between readings rather than snapping.
  • Burn-rate metric is derived once and shared with any other consumer (e.g. the tray flame animation) rather than duplicated.
  • Degrades gracefully (e.g. needle at zero / "no recent activity") when there's no recent usage.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions