Xenopic

GitHub Activity Widget

The GitHub Activity widget turns your contribution history into a live heatmap on your X banner — the familiar grid of colored squares that gets more vivid the more you ship. It's a premium widget that connects to GitHub through OAuth, pulls your contribution data, and re-renders on a schedule so your banner always reflects your latest work.

Read-only, by design

Connecting GitHub uses the minimal read:user scope — Xenopic reads your public contribution activity and nothing else. It can never push code, open issues, or change anything in your repositories, just like its access to X is read-only plus banner updates.

Unlocking the widget

GitHub Activity is a premium widget unlocked with coins, your refundable build capacity. Adding it places a coin hold against your balance; remove the widget later and those coins return in full. Coins are never cash and can't be cashed out — they only govern how many premium widgets you keep active at once. See What are coins? for the full picture, or Plans & billing for how much capacity each plan includes.

Connecting your GitHub account

Before the heatmap can show real data, link your GitHub account:

  1. Open the widget's settings in the Banner Builder.
  2. Click Connect GitHub. A popup window opens GitHub's authorization screen.
  3. Approve the read:user permission. The popup closes itself and your username is detected automatically.
  4. An initial sync runs right away, so your contributions populate within moments.

You can Disconnect at any time from the same panel. Disconnecting stops the activity from syncing and leaves your repositories untouched.

Display options

Everything about the graph is configurable from the widget's settings panel:

OptionWhat it does
Show HeaderToggles a title line above the graph (off by default).
Header TextThe title to display when the header is enabled — defaults to "My GitHub Activity".
Graph ColorThe theme color for filled squares. Xenopic shades it across four intensity levels so busier days appear darker.
Date RangePast Year (a rolling 12 months) or Current Year (January to today).
Width / HeightOverall size of the graph on your banner, in pixels.
Block SizeHow large each day's square is.
Block SpacingThe gap between squares.

Color grading is automatic

You only pick one Graph Color. Xenopic derives the lighter-to-darker scale for you based on how your contributions are distributed, so quiet days and heavy days are easy to tell apart at a glance — exactly like GitHub's own calendar.

How it refreshes

Once connected, your contribution data is re-fetched on a regular schedule — about once a day — and your banner is re-rendered with the fresh numbers. There's nothing to trigger manually; commits and contributions you make will show up on your next sync. Because the refresh runs at the service level, you don't manage a per-widget timer.

For more on how Xenopic keeps every widget current, see Auto-updates.

Tips for a clean banner

  • Keep the header off for a minimal look, or turn it on to label the graph for visitors.
  • Match your brand color with the Graph Color picker so the heatmap blends into the rest of your banner design.
  • Use "Past Year" for a consistently full grid year-round; switch to "Current Year" if you want the calendar to reset each January.
  • If the graph looks empty right after connecting, give the initial sync a moment — see Troubleshooting if it persists.

Next steps