Dev Contributions: A GitHub-Style Contribution Heatmap Across GitHub, GitLab, and Bitbucket

8 min readDeveloper Tools

Developers and hiring managers often glance at GitHub contribution graphs to understand coding rhythm—but activity is scattered across GitLab, Bitbucket, and other hosts. CSVSense Dev Contributions lets you connect read-only access tokens for multiple repo sites, view a familiar heatmap (combined or split by provider), and publish a shareable URL so others can see your snapshot without using your credentials.

What is Dev Contributions?

Dev Contributions is a dedicated area of CSVSense where you sign in (Google), connect one or more code hosting accounts with tokens that are encrypted at rest, and see an interactive year-style activity grid inspired by GitHub’s profile graph: daily cells, month labels, weekday rows, and a “less / more” legend. You can switch to Split by repo site to compare GitHub vs GitLab vs Bitbucket side by side when more than one host is connected.

Why use read-only tokens?

Unlike OAuth apps that may request broad repository scopes, Dev Contributions is designed around least privilege: you create a personal access token or app password with only the permissions needed to read your profile and activity—not to push code or change settings. Tokens are stored using the same application-layer encryption pattern as other sensitive connections in CSVSense (when your server is configured with a suitable secret key), and the browser never receives the raw token after save.

How each provider feeds the heatmap

  • GitHub uses the GraphQL API to read viewer.contributionsCollection.contributionCalendar, which matches the familiar contribution calendar shape (weeks and daily counts). Classic personal access tokens typically need the read:user scope; fine-grained tokens should allow read access to the relevant user metadata.
  • GitLab (including self-hosted when you set a base URL) verifies your identity via GET /api/v4/user and aggregates /api/v4/events into daily counts, similar in spirit to GitLab’s own contributions calendar. Scopes such as read_user or read_api are typical for this style of read-only access.
  • Bitbucket Cloud does not expose a single “contribution graph” API like GitHub. CSVSense lists repositories you can access and aggregates your commits by date (with reasonable limits for performance), using an app password with Basic auth together with your account username. You grant account and repository read permissions appropriate to your comfort level.

Public sharing without exposing tokens

When you publish, CSVSense saves a snapshot of the heatmap (combined totals and per-provider breakdown) and assigns a URL such as /dev-contrib/your-slug. Visitors load read-only data from the database; their browsers do not call GitHub, GitLab, or Bitbucket with your secrets. Refresh your snapshot from the dashboard whenever your activity changes and you want the public page to stay current.

Who is this for?

Job seekers who want one place to show activity across employers’ tools, open-source maintainers who split work between hosts, and teams evaluating how to present engineering habits without building a custom analytics stack. If you only care about GitHub’s native graph, you can still use Dev Contributions as a backup portfolio view with optional GitLab and Bitbucket context in the same layout.

Try Dev Contributions on CSVSense

Open the tool, connect your hosts with read-only tokens, explore combined and split views, then publish your public link when you are ready.

Go to Dev Contributions