A web dashboard tracking Nvidia's public partnership ecosystem. Articles collected daily via GitHub Actions; partnerships extracted weekly in a manual Claude Code session.
See docs/superpowers/specs/2026-04-28-nvidia-tracker-design.md for the full design.
- Node 20+
- npm
- Wrangler CLI (
npm install -g wrangler) — already authenticated if you've used Cloudflare Workers before - A Cloudflare account
- A Resend account (free tier) for the Sunday reminder email
npm installRun the placeholder site:
npm run devRun the test suite:
npm testRun a manual collection (writes new articles to raw/):
npm run collectRun the reminder script (without RESEND_API_KEY, just prints the body):
npm run remindValidate the data files:
npm run validate-dataBuild and preview as it'll run on Cloudflare Workers:
npm run previewnpm run deploy(One-time: also run wrangler login and configure your account ID in wrangler.toml if not already.)
Runs every morning at 6am ET via .github/workflows/collect.yml. Fetches RSS + Nvidia newsroom, dedupes, commits to raw/.
- Open this folder in Claude Code
- Type
/extract - Walk through any new partnership proposals
- Single commit ends the session
Runs every Sunday 9am ET. Sends email noting how many articles are waiting.
RESEND_API_KEY— from your Resend account dashboardEMAIL_TO— the address that receives the reminder
Set both in Settings → Secrets and variables → Actions.
data/relationships.json— source of truth (live partnerships)data/pending.json— review queue (proposed new partnerships)raw/YYYY-MM-DD.json— daily article archives, append-onlyextraction_log.md— append-only log of every REJECT/UPDATE/PROPOSE decision
See CATEGORIES.md for the partnership taxonomy and rules. See extract_prompt.md for the extraction prompt used by /extract.
See the spec doc for the full file tree.
/— graph-first homepage (Cytoscape force-directed; mobile redirects to /list)/list— sortable table of all active partnerships with category filters/partners/[id]— detail page per partner with evidence timeline/about— methodology, what counts, what doesn't, the six categories
Drop a transparent SVG at public/logos/<id>.svg (where <id> matches the entry's id in data/relationships.json). The Logo component will pick it up at next build. If no logo file exists, the partner is rendered as italic serif text.