[GH-ISSUE #8] Dashboard improvements: KPI cards, % changes, absolute deltas, breakdowns #5

Open
opened 2026-10-26 22:08:20 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @benceruleanlu on GitHub (Nov 9, 2025).
Original GitHub issue: https://github.com/Comfy-Org/download-data/issues/8

Summary
Enhance the dashboard beyond a single chart with actionable KPIs and comparisons.

Current

  • One area chart with timeframe selector: components/charts/daily-downloads-chart.tsx.
  • Basic “Change over timeframe” text uses first vs last data points.

Proposed Enhancements

  • KPI cards above the chart:
    • Today’s downloads (bucket date), 7‑day avg, 30‑day avg
    • WoW % change (last 7 vs prior 7), MoM % change (last 30 vs prior 30)
    • Cumulative downloads (sum of daily deltas)
  • Variant breakdown (stacked area) by asset variant:
    • e.g., nvidia, nvidia_cu128, amd derived from asset_name patterns
  • Release annotations on the chart by tag_name appearance
  • UX niceties: CSV export, toggle absolute vs % change, date range picker

API Changes

  • Add /api/downloads/daily/overview to return KPIs (today, 7d avg, 30d avg, WoW%, MoM%, cumulative).
  • Add /api/downloads/daily/by-variant?timeframe=... grouped by variant.
  • Optional /api/releases/annotations for release markers.
  • If migrating to GCS JSON (see cloud issue), compute/publish these JSON artifacts in the fetch job.

Acceptance Criteria

  • KPI cards render with correct values across timeframes
  • Chart shows variant breakdown option and release markers
  • API endpoints (or GCS JSON) provide data efficiently

Tasks

  • Define KPI calculations and API shape
  • Implement overview endpoint (or JSON)
  • Implement by-variant endpoint (or JSON)
  • Add KPI card components and layout
  • Add stacked area variant chart and toggles
  • Add release annotations and CSV export
  • Tests/validation against existing daily_summary

References

  • Daily summary API: app/api/downloads/daily/route.ts
  • Chart: components/charts/daily-downloads-chart.tsx
  • Data sources: daily_summary and asset_daily_stats (or GCS equivalents)
Originally created by @benceruleanlu on GitHub (Nov 9, 2025). Original GitHub issue: https://github.com/Comfy-Org/download-data/issues/8 Summary Enhance the dashboard beyond a single chart with actionable KPIs and comparisons. Current - One area chart with timeframe selector: `components/charts/daily-downloads-chart.tsx`. - Basic “Change over timeframe” text uses first vs last data points. Proposed Enhancements - KPI cards above the chart: - Today’s downloads (bucket date), 7‑day avg, 30‑day avg - WoW % change (last 7 vs prior 7), MoM % change (last 30 vs prior 30) - Cumulative downloads (sum of daily deltas) - Variant breakdown (stacked area) by asset variant: - e.g., `nvidia`, `nvidia_cu128`, `amd` derived from `asset_name` patterns - Release annotations on the chart by `tag_name` appearance - UX niceties: CSV export, toggle absolute vs % change, date range picker API Changes - Add `/api/downloads/daily/overview` to return KPIs (today, 7d avg, 30d avg, WoW%, MoM%, cumulative). - Add `/api/downloads/daily/by-variant?timeframe=...` grouped by variant. - Optional `/api/releases/annotations` for release markers. - If migrating to GCS JSON (see cloud issue), compute/publish these JSON artifacts in the fetch job. Acceptance Criteria - KPI cards render with correct values across timeframes - Chart shows variant breakdown option and release markers - API endpoints (or GCS JSON) provide data efficiently Tasks - [ ] Define KPI calculations and API shape - [ ] Implement overview endpoint (or JSON) - [ ] Implement by-variant endpoint (or JSON) - [ ] Add KPI card components and layout - [ ] Add stacked area variant chart and toggles - [ ] Add release annotations and CSV export - [ ] Tests/validation against existing daily_summary References - Daily summary API: `app/api/downloads/daily/route.ts` - Chart: `components/charts/daily-downloads-chart.tsx` - Data sources: `daily_summary` and `asset_daily_stats` (or GCS equivalents)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/download-data#5
No description provided.