Show HN: SHAde – A tool that turns Git Commit Hashes into deterministic Art
The convention is to post a link with a title, and then add a comment immediately with more details. Here are the two components for your post.
1. The Hacker News Title Use the Show HN: prefix. The title needs to be a factual, one-sentence summary of what the project is.
Title: Show HN: SHAde – A tool that turns Git commit hashes into deterministic art
2. The First Comment (from you, the OP) This is where you provide the essential context. No fluff. Get straight to the motivation, the technical details, and the link.
Comment:
Hi HN,
I created a command-line tool called SHAde. I was looking for a more aesthetic way to represent the history of a software project than the standard git log and was inspired by the idea of procedural generation. The goal was to create a unique, deterministic 'visual fingerprint' for every commit.
Here's how it works: It takes the SHA-256 hash of a Git commit and uses it to seed a pseudorandom number generator. This PRNG then drives the generation of geometric patterns (currently bars and spirals) and the selection of colors.
A key detail was the color generation. Instead of picking random RGB values, which often results in harsh combinations, it generates palettes in perceptually uniform color spaces (CIELAB/LCH). This helps ensure the results are more visually coherent. The entire process is stateless and deterministic, so a given commit hash will always produce the exact same image.
The tool can:
Render single commits to SVG or PNG.
Generate a browsable HTML gallery of a repository's recent history.
Create an animation showing the visual transition between two commits.
It's written in Python and is open-source on GitHub: https://github.com/LalwaniPalash/SHAde
I'd be interested to hear any feedback or answer any questions.
No comments yet