A JavaScript-first Next.js application that turns public GitHub activity into a clear narrative analytics dashboard and downloadable NION card.
Requirements: Node.js 22.13 or newer.
npm install
Copy-Item .env.example .env.local
npm run devOpen the localhost URL printed by Next.js. If port 3000 is busy, Next.js automatically selects another port.
For full year analytics, set GITHUB_TOKEN in .env.local. A classic GitHub personal access token with no scopes is enough for public profiles. The token is read only on the server and is never sent to the browser.
Without a token, the application falls back to GitHub's public REST API. That mode is intentionally labeled as a recent-activity preview because GitHub only exposes a limited public-event history.
npm run dev
npm test
npm run lint
npm run buildGITHUB_TOKEN: Enables the full GraphQL contribution calendar.UPSTASH_REDIS_REST_URL: Optional production Redis endpoint.UPSTASH_REDIS_REST_TOKEN: Optional production Redis credential.NEXT_PUBLIC_APP_URL: Trusted public origin used for metadata and share links.
Local development uses an in-memory analytics cache and visit counter when Upstash is not configured. The local visit count resets when the development server restarts. For Vercel, connect an Upstash Redis database and add the same variables in the project settings so analytics caching and the global visit count persist across deployments and serverless instances.
- NION measures visible GitHub activity, not hours spent coding.
- Exact time-of-day personality is omitted because GitHub's contribution calendar does not expose reliable hourly timestamps.
- Repository-level history is capped by GitHub GraphQL connection limits and the interface discloses that coverage.
- Private repository details are not requested or published by this public-analysis build.
The project uses standard Next.js scripts and contains no Sites/Cloudflare hosting integration. When ready, import the repository into Vercel, configure the environment variables, and deploy from there.