Product docs

Cadence

How lookup, the heatmap, and the commit log actually work.

Back to dashboard

Overview

Cadence is a public GitHub shipping calendar. Look up any user, click a day, and share a permalink. It is read-only. There are no accounts.

It is not GitHub, not a score, and not a view into private repositories. Green squares can still include private work; the commit log never does.

  • Home opens on a default public profile.
  • Every public GitHub user has a shareable page at https://git-cadence.grok.me/u/{username}.
  • Copy link or share to X from the header.
  • Export a share card, heatmap, CSV, README badge, or embed.
  • Compare two users, or open a year recap at /u/{username}/{year}.

Look up a profile

Type a GitHub username, or paste a profile URL like github.com/gaearon. Cadence strips the host and loads the public graph.

  • Load takes you to /u/{username} with today selected.
  • On the home page, the last username you loaded is remembered in this browser only.
  • Try the featured handles under the search field for a known-good public calendar.

A 404 means GitHub has no public user with that login. Rate-limit messages mean GitHub asked Cadence to wait — the heatmap may still work.

The selected day

Click a heatmap square, use Pick day, or pass ?d=YYYY-MM-DD on a profile URL. Future dates are ignored.

Public commits
Commits GitHub search reports as authored by that login on that UTC calendar day, on public default branches. Cadence lists up to the first 100.
GitHub contributions
The number on that square of GitHub’s contribution graph: commits, pull requests, reviews, and issues, including private work GitHub is allowed to count.

These two numbers often disagree. A green square with an empty log is normal: private repos, issues, reviews, and pull requests still count as contributions.

Year map

The year map is GitHub’s contribution calendar, clipped to today. Last 12 months is the default. Switch to a calendar year with the year chips.

  • Square darkness is relative to that user in the selected range, not GitHub’s global 0–4 scale.
  • Empty days stay empty. The darkest squares are the top quartile of that user’s non-zero days.
  • Selecting a year that does not contain the current day jumps the selection to 31 Dec of that year, or to today for the current year.

Metrics

Today
Contribution count on today’s GitHub calendar day.
Streak
Consecutive days with at least one contribution, ending today. If today is empty, the run is allowed to end yesterday.
Longest
The longest consecutive contribution run inside the selected range.
Best day
The day in range with the highest contribution count.
Weekday rhythm
Contribution totals grouped by weekday of the GitHub calendar date. The busiest weekday is called out.
Consistency
Share of days in range with at least one contribution.
Shipping days
Active days over days in range.
Typical day
Average contributions on days that were not empty.
This week
Contributions in the seven days ending today.
Last 14 days
Contribution volume for the two weeks ending on the selected day.
Hour strip
When public commits that day were authored, in your browser’s local time.
Repo mix
Public repositories that received those commits, capped at the busiest few.
Longest pause
Longest run of empty contribution days inside the selected range.
Current pause
Consecutive empty days ending today. Zero if today has a contribution.
Quietest month
Month in range with the fewest active days, ignoring stubs shorter than two weeks.

Sharing

Profile URLs are safe to send. They only encode a public username and optional date or year. Nothing private is in the link.

  • https://git-cadence.grok.me/u/ravidsrk — that user’s last 12 months, today selected.
  • https://git-cadence.grok.me/u/ravidsrk?d=2026-09-10 — same profile, that day selected.
  • https://git-cadence.grok.me/u/ravidsrk?y=2025 — calendar year 2025.
  • https://git-cadence.grok.me/u/ravidsrk/2025 — year recap for 2025.
  • https://git-cadence.grok.me/compare/gaearon/yyx990803 — two calendars side by side.
  • Copy link writes the current profile, day, and year to the clipboard.
  • Share opens an X compose window with streak, range total, and the permalink.

Export, badge, embed, API

Export is under the Export menu on a loaded profile. All of these are the same public calendar Cadence already shows.

  • Share card downloads an SVG or PNG with name, streak, totals, and the heatmap.
  • README badge: https://git-cadence.grok.me/api/badge/{username}.svg — streak, today, and range total.
  • Heatmap SVG: https://git-cadence.grok.me/api/heatmap/{username}.svg?year=2025
  • JSON calendar: https://git-cadence.grok.me/api/calendar/{username}
  • Embed: iframe https://git-cadence.grok.me/embed/{username} (optional ?y=2025).
  • CSV and JSON downloads are the day rows for the selected range.

GitHub README image cache can lag a few minutes. The badge is public data with a short cache.

Year recap and compare

Recap is a calendar year: map, weekday rhythm, pauses, public repo languages, and GitHub search totals for commits vs pull requests. Languages are primary language on recently pushed public repos the user owns — not commit volume.

Compare loads two last-12-month calendars. It uses two heatmap fetches, so GitHub may rate-limit if you hammer it.

Keyboard

  • ← and → move the selected day along the calendar.
  • Home jumps to the first day in range. End jumps to the last.
  • Keys are ignored while typing in the username field.

Data and privacy

Cadence only reads public GitHub data. It does not sign in as you, store profiles on a server, or write anything back to GitHub.

  • Profile: GitHub users API.
  • Heatmap: GitHub’s public contribution calendar HTML, with a public JSON mirror as fallback.
  • Commit log: GitHub commit search for author:{login} author-date:{day}.
  • Lookups are cached for a few minutes so repeat views of the same user and day stay snappy.

What stays in this browser

On the home page only, the last username you loaded is saved in localStorage so a refresh can reopen it. Profile URLs do not need that. Clear site data and it is gone.

Time zones

Heatmap days follow GitHub’s contribution calendar. Commit search uses GitHub’s author-date as a UTC calendar day. A commit near midnight can land on different days in the two views. The hour strip converts authored timestamps to your local clock.

Limits

  • Private repositories never appear in the commit log, even when they shade the heatmap.
  • Commit search can mark results incomplete, and Cadence only lists the first 100 public commits for a day.
  • GitHub rate limits unauthenticated traffic. If search is limited, the heatmap still tries to load.
  • Forks, bots, and unusual author emails can make search miss commits you still see on GitHub.

FAQ

Why don’t the two day counts match?

Contributions include pull requests, reviews, issues, and private work GitHub counts. Public commits are only authored commits on public default branches that search returned for that UTC day.

The square is green but the log is empty.

That usually means the contributions were private, or they were not commits (reviews, issues, pull requests). Cadence still shows the contribution count.

Can I connect my GitHub account?

No. Cadence is public-only on purpose. Connecting an account would imply private data, and this product does not show that.

Who can see a permalink I send?

Anyone with the URL. It is the same public graph GitHub already shows. Do not share a link if you do not want that day’s public commits forwarded.

Is this an official GitHub product?

No. Cadence is an independent dashboard that reads public GitHub pages and APIs. Counts can lag or differ when GitHub changes those surfaces.