Playground · git-bonsai

Every GitHub account grows exactly one tree .

Ten years of an account is not a green calendar. It is a biography, with growth spurts, obsessions, long silences and comebacks. This grows that biography into a bonsai: the username is the seed, the history is the shape, and nobody else can ever grow yours.

Live v1 procedural deterministic no install
Playground

Grow a tree from a GitHub history

Type a username. Nothing here is drawn by hand: the account is the seed, the history is the shape, and the same name always grows the same tree.

Season
No tree yet A name, and something grows here.

Every account grows exactly one tree. Nobody else can grow yours.

Rendered in your browser by the engine the GitHub Action runs, over public GitHub data. Private contributions and exact per-language byte sizes only reach the tree when the Action runs on the account itself.

What the tree is reading

Everything is derived, nothing is chosen. There is no Math.random() anywhere in the engine: the same account with the same history produces the same tree, byte for byte, on every run.

Account age
Trunk height, thickness and branching depth
Contributions
How dense the crown grows
Streaks
Sakura blossoms at 7, 30, 100 and 365 days
Silences
Deadwood: jin, then a shari scar, then an uro hollow
Languages
The colour of the canopy, one hue per era
Rhythm
The style: metronome, storm or hermit
Flagships
One trunk, twin trunks, a clump or a forest
The calendar
Today: leaves flush in spring and frost in winter

Grow it on your own profile

The page above sees public data only. The Action sees your private contributions and your exact language bytes, and it re-grows the tree every night. Drop this in the profile repository, the one named after your username:

.github/workflows/bonsai.yml
name: bonsai
on:
  schedule:
    - cron: '0 3 * * *'   # re-grow daily
  workflow_dispatch:
permissions:
  contents: write
jobs:
  grow:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: egorthinks/git-bonsai@v1

It writes four files: bonsai.svg, bonsai.png, a wind loop and a seed to today timelapse. Or skip CI entirely and run it once:

terminal
$ npx git-bonsai --user yourname --token $GITHUB_TOKEN   # real data
$ npx git-bonsai --synth yourname                        # offline demo