Paste any GitHub username, get a shareable stats card. No login, no backend, nothing about you is stored anywhere -- it runs entirely in your browser and talks directly to the public GitHub API.
Tools like this usually get their "commits this year" number from GitHub's GraphQL API, which needs a signed-in token -- not something a static, backend-free site can do without exposing a secret. So this sticks to two kinds of stats, both computed from GitHub's public, no-login REST API:
- All-time facts (always accurate): member-since year, public repos, followers, total stars earned across your repos, top language, most-starred repo.
- Recent-activity facts: streak, pushes, busiest day of the week. These
come from
/events/public, which GitHub caps at roughly the last 90 days (or 300 events) -- the card always shows the actual date range the numbers cover, instead of pretending it's a full year.
No dishonest padding, no fake precision.
It's a static site -- no build step, no dependencies:
git clone https://github.com/Arsham-eyzed/github-wrapped.git
cd github-wrapped
python -m http.server 8000
# open http://localhost:8000app.js draws the entire card on a single <canvas> -- the same drawing
routine is both what you see on the page and the exact source for the
downloaded PNG (canvas.toDataURL()), so there's no separate export path
that could drift from what's on screen, and no html2canvas-style dependency
trying to approximate a DOM screenshot.
GitHub's unauthenticated REST API allows 60 requests/hour per IP, and the Search API (used to rank repos by stars) allows 10/minute -- both shared by anyone on your network making anonymous requests, so it's easy to hit during heavy testing. The app detects this and shows a plain-language message with an estimated retry time instead of a raw error.
MIT -- see LICENSE.
