finds.dev← search

// the find

Platane/snk

★ 5,974 · TypeScript · updated Apr 2026

🟩⬜ Generates a snake game from a github user contributions graph and output a screen capture as animated svg or gif

snk turns a GitHub user's contribution graph into an animated snake game — the snake eats the contribution cells in order, outputting an SVG or GIF. It runs as a GitHub Action on a cron schedule and writes the result to a branch, making it a drop-in for profile READMEs. Squarely aimed at developers who want something more interesting than a static graph in their profile.

The solver is genuinely well-engineered — it's a real pathfinding problem (eat all cells without getting stuck) and the packages/solver directory shows it's treated as such, with its own test suite including fuzz tests. The monorepo split is clean: solver, draw, svg-creator, gif-creator, and platform contribution fetchers are all separate packages with clear boundaries. Dark mode support is handled properly via the HTML `<picture>` element rather than a hack. Platform support (GitHub, GitLab, Forgejo/Codeberg) is wider than you'd expect for a profile toy.

The project explicitly does not accept pull requests, which is an unusual stance for an open-source tool at nearly 6k stars — bug fixes go through issues only, and the maintainer decides if anything gets merged. The GIF output requires a heavier pipeline than SVG, and the color configuration via query strings in the outputs list is an odd API choice that doesn't compose well if you're generating many variants. No changelog or release notes visible in the tree, so tracking what changed between v1/v2/v3 takes digging. The GitHub contribution fetching scrapes HTML rather than using an API, which means it's one DOM change away from breaking.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →