I've been on a quest to learn more from nature and bring those learnings into my work — exploring nature-based metaphors in software, less as decoration and more as structure. Trees keep coming up.
The spark for this project came from Erik Linton, an artist who makes prints from cross-sections of trees in Texas. Looking at his work, I kept thinking about what it would mean to make a physical artifact of the things I build as they grow a record you could hold, not just scroll through.

GitHub's most popular repos for 2026.03
Most of the growth of a code project is already tracked in git: every commit, every branch, every merged effort. That felt like a natural place to start. So I built Dendrocode, a tool that renders a repository's commit history as tree rings.
Each ring represents a period of activity. Denser rings reflect heavier commit periods — the equivalent of a good growing season. Sparse rings map to quieter stretches. The result is a cross-section that's structurally honest about how a project actually developed over time.
The image above is the gndclouds/gndclouds repo my personal profile repository. Seeing it rendered this way made the ebbs and flows of the last few years immediately legible in a way that a commit graph just doesn't.
The version I'm most excited about involves physical output. What if each major release of a project printed a new set of rings on a transparency sheet, and you stacked them? You could literally hold the physical evolution of something like Tailwind 0 through 3 — layer by layer, release by release.
There's something meaningful about making software tangible. Code is usually invisible until it's running but the process of building it is just as real as any material craft. Dendrocode is an early attempt to give that process a form.
Try it with your own repo at dendrocode.vercel.app.