Contribution Canvas Local-first graph art
Saved locally
Design mode
Open sourceLocal-firstNo force-push

Make your GitHub
graph unmistakably yours.

Sketch a full year, add pixel text, and preview every contribution before anything touches Git. Design in the browser, then publish from the private local studio when you are ready.

$ git clone https://github.com/Goprogabriel/contribution-canvas.git && cd contribution-canvas && npm start
Private by defaultYour GitHub credentials never enter the browser
Transparent outputEvery generated commit is labelled as graph art
One safe pushPreflight, dry-run and remote checks come first
Made to exploreDesign and export without connecting an account
Two modes, one canvas

Design online. Publish locally.

The website is a safe creative space with no GitHub access. The downloaded studio adds private, local publishing controls while keeping the exact same canvas.

?
New to contribution graphs?

Each square represents one day. Contribution Canvas lets you plan those squares visually; only the local studio can turn an approved plan into clearly labelled commits.

01WebsiteDesign mode

Create without connecting anything

  1. Draw by hand or place pixel-perfect text on the year.
  2. Preview planned, current, and projected activity.
  3. Export one portable JSON plan when the design feels right.

Zero account access. The website cannot read credentials or push to GitHub.

Your workspace

Design first. Commit later.

Choose a tool, paint directly on the calendar, and refine the details in the inspector.

100%
Generated commits0Nothing planned yet
Active dates0of 365 days
Peak day0No painted date
Collisions0planned dates with existing activity
Private publishing

From canvas to GitHub. Safely.

The local studio uses the official GitHub CLI, keeps credentials on your machine, and shows exactly what will happen before its single normal push.

Publishing unlocks in the local studio

Clone the project, sign in with gh auth login, and run npm start. Your canvas reopens with private publishing controls.

Transparent by design

Art, not fake work history.

Generated messages contain chore(graph-art), a plan identifier and Generated-By: Contribution Canvas. The README and UI clearly explain that the commits are automated graph art.

chore(graph-art): render 2026-04-18 pixel 2/4Contribution-Canvas-Plan: cc-…
Generated-By: Contribution Canvas
Local execution

Review before Git changes

Repository—
Default branch—
Dates—
Timezone—
Generated commits0
1

Clone into an isolated temporary directory

2

Generate clearly labelled commits with local-noon timestamps

3

Recheck the remote branch and perform one normal push

GitHub may take up to 24 hours to reflect qualifying commits. Contribution colors are calculated by GitHub and cannot be guaranteed.

Destructive editor action

Clear planned activity?

This removes only the current Contribution Canvas layer. It does not touch GitHub or existing activity.