Tombstone
Deckify
Jan 2026 · age 44
What it was
A JavaFX tool for laying out cards and exporting every combination as a PNG. A card was a rule: a document size, a filename pattern, and a list of rectangles, each pointing at nothing, at one image, at an image set with a table of per-image variables, or at whatever another rectangle was showing. A rectangle could even read a variable from another rectangle's current image and load the file that value named. A card-deck fill mode laid out traditional playing-card pips for a count taken from a variable. Export walked the Cartesian product of image sets with an odometer, rendered each card offscreen, and ended with an audit of what was exported, overwritten, duplicated or errored. The editor was rebuilt from a written specification of a sibling tool and matched its constants exactly. The code bears the marks of an AI agent's hand; the pips and the constraints are the human's. It was published whole in one January morning.
Wins, for the age
- At forty-four, Jeff extracted a written specification from one tool and had it re-implemented inside another, constant for constant. A spec travelled where a library would not.
- Computed card art, filenames, colours and pip counts from metadata columns attached to each image, turning a template tool into a generator.
- Gave batch export an honest audit that names every file it overwrote or wrote twice.
- Recoloured black to any colour while keeping white white, finding on their own the formula of Photoshop's Screen blend (1994).
What it taught
- A specification is portable; code is not.
- A metadata table is what turns a template into a generator.
- Documentation drifts within the hour. The README promised a filename syntax the code rejected, so every combination could land on one file, last one wins.
- One controller of four thousand lines with the render path written three times is drift waiting to happen: rewrite it before anyone else reads it.
Genealogy
Ancestors: none on record. It arrived complete, on its first morning. Descendants: RPG Spine: data-driven game tooling, built again with an AI agent at the keyboard.
Epitaph
Here lies Deckify. It knew where the pips go and told you which files it overwrote, and its README promised a filename syntax the code never accepted.