Skip to content

feat: /data-api hub — 9 benches, by-benchmark + by-provider pivot - #1676

Merged
Flotapponnier merged 2 commits into
devfrom
feat/data-api-hub
Jul 29, 2026
Merged

feat: /data-api hub — 9 benches, by-benchmark + by-provider pivot#1676
Flotapponnier merged 2 commits into
devfrom
feat/data-api-hub

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Summary

  • New /data-api page aggregating 9 existing benchmarks across 5 categories: price feeds, token metadata, portfolio/wallet, DEX coverage, NFT data
  • Blob-only data loading (same pattern as /rpc): loads bench CDN blobs in parallel, no Prometheus at render time, graceful degradation to "warming up" state
  • Two tabs: By Benchmark (grouped tables with leader, runners-up, per-region and per-chain breakdown) and By Provider (cross-bench pivot with rank badges per group)
  • KPI strip: unique providers, active benchmarks, headline price feed leader, fastest wallet indexing
  • Group summary pills above the tabs showing current leader per category
  • Added "Data APIs" nav link to site-header between Benchmarks and Products

Files added

  • src/lib/data-api-stats.ts — cohort builder with fetchDataApiSnapshot (unstable_cache 60s)
  • src/app/data-api/page.tsx — server component, JSON-LD breadcrumb + ItemList
  • src/components/data-api-hub-tabs.tsx — client tab wrapper
  • src/components/data-api-bench-groups.tsx — "By Benchmark" grouped tables with region/chain strips
  • src/components/data-api-providers-pivot.tsx — "By Provider" sortable cross-bench pivot

Test plan

  • Check /data-api renders with warming-up state if blobs aren't loaded yet
  • Verify both tabs work and sorting on pivot works
  • Check nav "Data APIs" link highlights correctly on /data-api
  • Confirm build has no TS errors (already verified locally)

@Flotapponnier
Flotapponnier merged commit 7517f80 into dev Jul 29, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant