finds.dev← search

// the find

LingDong-/fishdraw

★ 2,298 · JavaScript · MIT · updated Sep 2021

procedurally generated fish drawings

A single-file JavaScript procedural generator that draws fish — complete with fins, scales, tails, and pseudo-Latin names — and outputs polylines in SVG, SMIL, CSV, or JSON. Built specifically for pen plotters, so everything it produces is vector paths with no fills. A weekend project that's genuinely charming.

Zero dependencies, single file — you can read the whole thing and understand every decision. The plotter-first output (polylines, not filled shapes) means it works directly with AxiDraw and similar machines without post-processing. Deterministic seeding from a string lets you get the same fish every time, which is useful for generative art workflows where reproducibility matters. The SMIL animated SVG export is a nice touch for sharing on the web without any JavaScript runtime.

Abandoned since September 2021 with no maintenance activity. The fish variety, while fun, has a ceiling — after browsing the gallery you've seen the design space. There's no parameter documentation beyond the seed/speed/format flags, so understanding what `generate_params()` actually controls requires reading the source. And being a single 1800-line file with no tests means extending it is friction — the internals aren't structured for modification.

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 →