Generate a shareable 2025 GitHub stats card for any username. The app fetches data from the GitHub GraphQL API, renders a clean card, and lets you download it as a PNG.
- Enter any GitHub username and fetch 2025 contribution stats.
- Shows totals for contributions, commits, PRs, issues, stars, reviews, longest streak, and top language.
- Download the card as a high-resolution PNG (uses html2canvas).
- Lightweight UI with a holiday-themed logo and responsive layout.
Prerequisites: Node.js 18+ and npm.
- Install dependencies:
npm install- Create
.env.localand set a GitHub token:
GITHUB_TOKEN=your_token_here
- Run the dev server:
npm run dev- Open http://localhost:3000 and try a username (for example,
octocat).
- Use a fine-grained personal access token with read-only scopes for
public_repo(andread:userif needed). - Storing the token in
.env.localavoids hitting anonymous rate limits.
- Enter a GitHub username in the input field.
- Submit to fetch 2025 stats.
- Review the card details.
- Click Download PNG to save the rendered card image.
POST /api/stats- Body:
{ "username": "the-github-handle" } - Returns: aggregated 2025 stats (commits, PRs, issues, reviews, stars for repos created in 2025, longest streak, top language, avatar).
- Uses the GitHub GraphQL API under the hood.
- Body:
- Next.js 16 (App Router) and React 19
- Tailwind CSS 4 for styling
- html2canvas for PNG export
- Iconify for icons
- Stats are scoped to the 2025 calendar year.
- If GitHub rate limits are hit, add or refresh your
GITHUB_TOKEN.

