07Identity system & generative software
Dynamic Identity
A zigzag stitch drawn by a seeded program: it comes out different on every run and can always be repeated from its seed.
- Client
- Threads (in-house)
- Year
- 2026
- Role
- Concept, generation logic and implementation
- Built with
- Canvas, a seeded PRNG, a Lit custom element
The system.
Dynamic Identity is our own identity system. The mark is a small program: it lays one continuous zigzag across a square. Every run is different, and any run can be repeated exactly from its seed. The front page works the same way, picking one of fourteen stitched photographs at random on each visit.
Live. Marks stitch, hold, unpick and restart. Click to skip.
The stitch.
The line follows a sewing machine's zigzag: one continuous thread with evenly spaced peaks. Direction, peak count and amplitude are drawn new on every render, within a fixed set of rules.
Horizontal or vertical.
One axis per render, chosen randomly.
Six to ten peaks.
Six to ten stitches, spaced with slight variance.
One end left loose.
The running end extends past the square, as thread does before cutting.
Sizes.
The same generator, drawn at 128, 64, 32 and 16 pixels. Sixteen pixels is the browser tab limit; the system has to work at that size.
The favicon.
A browser tab clips the mark to its square, so the loose tail is omitted at 16 pixels. The tail remains visible on the page and in print.
Where it runs.
The program ships. The mark functions as a tab icon (redrawing every few seconds), in loading states, and on foil-stamped business cards.
Project context
Design and engineering: Threads, in-house. Every mark on this page is drawn in the browser from a seeded random source and can be reproduced.