Skip to content

[Feature] AI Credits dashboard: display, labeling, and scale fixes #222

Open

Description

@goodbounties-nanoclaw-agent

Feature summary

Six display/formatting/scale fixes to the AI Credits dashboard on the GoodData widget (gooddata.gooddollar.org), based on feedback from Hadar Rottenberg (CEO) following the PR #179 production deploy.

Problem or opportunity

Now that the dashboard is live, several labels and values are unclear or imprecise for real users: the top scorecard doesn't show USD or the streaming/subscription breakdown, the flow-rate scorecard is labeled as a daily rate when it should read as a monthly subscription total, the streaming line isn't visible on the G$ Volume chart, the daily table hides sub-cent AI credit usage, and the dashboard defaults to fetching a full year of data unnecessarily.

Proposed solution

  1. Rename first scorecard → "Total Credits Bought in G$"; show USD equivalent via weiToUsd(data.global.aiCreditsUsedWei).
  2. Add a sub-line: "out of X G$ in subscription (streaming)" via weiToGd(data.global.gdStreamedWei).
  3. Rename "G$ Flow Rate" → "Total Monthly Subscriptions", drop the "/day" suffix. New flowRateToMonthly() helper in analyticsConversions.ts:
    const monthlyWei = big * BigInt(2629746) (seconds in a month — plain multiplication, not exponentiation)
  4. Make the streaming line visible on the G$ Volume chart — fix/verify LineAreaChart's dual-axis (secondaryYAxis) rendering; fallback to two single-axis charts (one-time deposits vs. streamed) if dual-axis isn't practical.
  5. Daily table "AI Credits (USD)" column: .toFixed(2) → .toFixed(3) so sub-cent amounts (e.g. $0.003) show instead of rounding to $0.00.
  6. ANALYTICS_DAYS_REQUESTED: 365 → 30 in connector.ts (365-day fetch is a perf hit).

Acceptance criteria

  • First scorecard reads "Total Credits Bought in G$" with USD equivalent shown
  • Subscription/streaming portion shown as a sub-line under the first scorecard
  • Flow-rate scorecard relabeled "Total Monthly Subscriptions", computed via flowRateToMonthly(), no "/day" suffix
  • Streaming line visibly rendered on the G$ Volume chart (dual-axis or split charts)
  • Daily table AI Credits (USD) column shows 3 decimal places
  • Dashboard defaults to a 30-day fetch window

Additional context

PR #179 merged, deployed to production: gooddata.gooddollar.org. Feedback relayed by Thales Barbosa from Hadar Rottenberg (CEO) in #goodbounties-lead, 2026-08-31.

Create the plan (keep this section in the issue body)

Based on the above description create an execution plan in a new sub-issue and preserve the original issue content unchanged.
Do not execute the plan until given instructions to do so.

Sub-issue requirements:

  • Title format: [DRAFT][PLAN] <what issue is being planned>
  • Type: Task
  • Description must start with: <sub-issue title>
  • Link the sub-issue back to this parent issue.

Instructions when creating the plan:

  • Map relevant files that are too be used as reference from all repos mentioned
  • import existing @GoodDollar packages
  • Map new components that should be created. Assess when a new component should be created in the new savings widget package or made part of the reusable packages/ui

Plan specification required sections:

  • Required states, flows, and behaviors
  • Execution plan
  • acceptance criteria
  • human-reviewer checklist

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions