Rubber-stamp prototypes
Four takes on letting a visitor stamp a card with their cursor.
Shared building blocks: the #rubber-ink SVG filter
that jitters edges and erodes dry patches, a tiny Svelte island
that tracks pointer state and manages placed-stamp lifecycles,
and three rendering paths for stamps (single-ink mask,
native-color SVG, inline circular postmark). Each prototype
changes how presses behave, not how they look.
Wash-away press
Pick a stamp from the tray, click the card to press. Each stamp fades linearly to zero over seven seconds and is garbage-collected. Press rotation is randomized in a narrow range so repeat presses don't feel mechanical. Esc cancels the armed stamp.
Pick a stamp. Click anywhere on this card. Stamps fade in 7s.
Wet-ink smear
Same pick-then-press, but pointerdown + drag lays down a trail of stamps at ~90ms intervals. Quick taps still drop a single press. The rubber filter's wobble sells the wet-ink feel as presses overlap and blend via multiply.
Pick a stamp. Click anywhere on this card. Click and drag for a wet-ink trail.
Mystery press
Tray collapses to a single Surprise chip. Every press pulls a random stamp from the pool with a random rotation. Good when you don't care which stamp — you just want to fill the card. Also fun to spam.
Pick a stamp. Click anywhere on this card. Each press is a random stamp.
Permanent record
Stamps never disappear. Instead they age: saturation drops and a slight sepia creeps in over thirty seconds so the newest press is vivid and older ones read as archival. The card accumulates a provenance trail you can't wash off.
Pick a stamp. Click anywhere on this card. Stamps age but never wash away.