A personal metrics dashboard that visualizes GitHub contribution data and npm package statistics. Data is fetched at runtime from companion stats repositories — no local data files are needed.
- React 19
- TypeScript 6
- Vite
- D3 for charts and visualizations
Contribution statistics are fetched from the github-stats repository. The stats repo syncs your GitHub contributions daily via GitHub Actions and publishes aggregated JSON. Private repository details (names, URLs, languages) are stripped — only commit counts and line changes are included.
Setup your own:
- Fork github-stats
- Enable GitHub Actions on the fork
- Add repository secrets:
GH_PAT— Personal Access Token withrepoandread:orgscopes (create one)ENCRYPTION_KEY—openssl rand -hex 32
- Run Actions > Setup User Branch > Run workflow
- Enable Actions > Sync GitHub Stats (scheduled workflows need manual activation on forks)
- Stats sync daily at midnight UTC. Data is available at:
https://raw.githubusercontent.com/<you>/github-stats/<you>/data/stats.json
To add or change GitHub accounts in this dashboard, edit GITHUB_ACCOUNTS in src/models/Data.ts.
Package and download statistics are fetched from the npm-stats repository. The stats repo syncs your npm packages and download counts every 6 hours via GitHub Actions. No npm token is needed — the npm registry API is public.
Setup your own:
- Fork npm-stats
- Enable GitHub Actions on the fork
- Add repository secret:
ENCRYPTION_KEY—openssl rand -hex 32
- Run Actions > Setup User Branch > Run workflow (enter your npm username when prompted)
- Enable Actions > Sync npm Stats (scheduled workflows need manual activation on forks)
- Stats sync every 6 hours. Data is available at:
https://raw.githubusercontent.com/<you>/npm-stats/<you>/data/stats.json
To change the npm account, edit NPM_ACCOUNT in src/models/Data.ts.
npm install
npm run devnpm run build # outputs to dist/
npm run preview # preview the production build locallynpm run deploy