Repository navigation
Description
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
- Rename first scorecard → "Total Credits Bought in G$"; show USD equivalent via
weiToUsd(data.global.aiCreditsUsedWei). - Add a sub-line: "out of X G$ in subscription (streaming)" via
weiToGd(data.global.gdStreamedWei). - Rename "G$ Flow Rate" → "Total Monthly Subscriptions", drop the "/day" suffix. New
flowRateToMonthly()helper inanalyticsConversions.ts:
const monthlyWei = big * BigInt(2629746)(seconds in a month — plain multiplication, not exponentiation) - 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. - 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. ANALYTICS_DAYS_REQUESTED: 365 → 30 inconnector.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
Labels
Type
Projects
- StatusShow more project fieldsIn Progress
Activity
[BountyCoder] feat(ui): add optional subLabel caption to Scorecard
[BountyCoder] fix(gooddata-widget): reduce AI Credits fetch window fr…
[BountyCoder] fix(gooddata-widget): show 3 decimal places on AI Credi…
[BountyCoder] fix(gooddata-widget): relabel flow-rate scorecard as a …
[BountyCoder] fix(gooddata-widget): relabel total scorecard and show …
[BountyCoder] fix(gooddata-widget): show subscription/streaming sub-l…