All work

Role
Designer of the campaign and the toolchain
Years
2026
Tools
Affinity, Node, Python
Carousels
15
Boards
123, approved as a set
Throughput
10 pieces in 2.9s
Gates
9, before the app opens

Image

The Auxiliary Files

A launch campaign built like a records office, and a toolchain that measures instead of guessing.

"The Reno Record" newspaper board.
"The Reno Record" newspaper board.

The records office

The Auxiliary Files is a launch campaign for Auxiliary Manufacturing, built like a records office: typed incident cards, catalog numbers, photos pinned to boards, and The Reno Record as a front page. It runs to 15 carousels for the feed and the inbox, 123 boards in all, approved as a set.

The launch campaign built like a records office: typed incident cards, catalog numbers, photos pinned to boards.
The launch campaign built like a records office: typed incident cards, catalog numbers, photos pinned to boards.

The case boards

Torn photos and typed evidence cards, then an archival collage with the same cards.

Case board: torn photos and typed evidence cards.
Case board: torn photos and typed evidence cards.
Case board: archival photo collage with typed cards.
Case board: archival photo collage with typed cards.
Modules
14
Scripts
41
Examples
33
Mutation tests
28

Craft as code

Analog realism at volume needs a toolchain, so I built aux-affinity: a zero-dependency Node toolkit that drives Affinity. Fourteen library modules, 41 scripts, 33 worked examples, 28 mutation tests.

The craft scripts are halftone, torn paper, scan texture, office paper, photo print, retouch knockout, heraldry, tone plates, news clip, and a print-safe QR. The art manifest holds 211 items with 39 knockouts. The case library holds 49 written cases.

Measure, don’t compute

Text is measured and auto-fit by binary search. Symbols are resolved by measurement, and the tool refuses to guess.

Nine pre-flight gates run before Affinity is even opened, including a font gate and a size gate. The size gate exists because a pixel-ratio comparison between two products came out anywhere from 0.925 to 1.523 when the true ratio is 1.400.

Ten finished pieces in 2.9 seconds, all exactly 1080×1350. A 42-post correction ran in 44 seconds. Batching 24 nodes took 404ms against 3,144ms as separate calls, 7.8 times faster.

Stop-motion, and the trade print

aux-motion is a stop-motion engine with made and taken banks. It boils from three seeded makings, shoots on twos, and weaves the camera. The clips are approved for outside use.

Twelve print boards for Blade Show West, as quarter-page ads at 3.375 × 4.625 inches with 0.125 bleed, 400ppi, SWOP v2, and a 0.60 inch QR floor.