Vertically Stitch
Vertical text sewn strand by strand, the way a hand-guided embroidery shop letters a name tag, and four ways for it to leave. A study of entrance and exit motion for embroidered text.
Type a name in Hangul, Hanja, kana or Latin and sew it. Drag the scrubber through the beats: a stroke, a re-grip between components, the hairline span to the next character, the trim. Then pick an exit and remove it.
What the craft dictates
Sixty reels of one Seoul name-tag shop, read down to the single strand, settle most of the entrance. Each rule below is a finding first and a behaviour of the app second.
Accumulated, not revealed
The render unit is a single strand: one swing of the needle laid across the stroke. A letter is never drawn and then shown; it piles up strand by strand, and nothing exists ahead of the frontier. No ghost outline, no glyph mask, no guideline.
A font traced by hand
The shop reproduces a customer's chosen font by hand, so the letters here are traced from real faces: the site's vertical Korean display face or Gungseo for Hangul, a serif face for Hanja and kana, a connected cursive for Latin names. Each glyph is rendered off screen, thinned to a skeleton and traced into strokes carrying the ink's own width. Nothing rendered is ever shown.
Stroke order is the schedule
Strokes are ordered the way a hand writes them: Hangul by jamo, initial then vowel then final; Hanja and kana top to bottom, left to right, one component before the next; a cursive word as one path from left to right, then turned a quarter turn to run down the strap. Characters run down the column and the next column opens to the left.
Density is the rhythm
Every strand takes the same time; the spacing between strands does not. A hand-speed profile slows into a stroke's start, its end and every corner, so those places pack more strands and take longer. The rhythm is not animated. It falls out of density.
One swing axis
The shop's machine swings its needle along one axis only; the hands move the fabric. So every strand in a piece lies parallel, and a stroke that runs along the axis comes out thin while one that crosses it comes out thick. That is the Mincho contrast arrived at by mechanism, and a serif face brings the same contrast of its own. The axis is a setting in degrees, with a few degrees of hand play on it: turn it and the contrast turns with it. The pen's reading, where the strand turns with each stroke, sits beside it for comparison.
Spans, then a finishing pass
Between components and characters the thread crosses the gap as a hairline, laid flat while the hands reposition. It stays until a finishing beat trims every span and lifts the thread away. The sewn object and the finished object are different things.
No needle, no hands
In the reels the needle is still and the fabric moves. A screen cannot honestly show both, so the app shows neither: one directional light, a glint at the frontier, the live feeding strand, and the thread. The ground can also walk past a fixed frontier, as a strap walks under the needle.
The exit question
The craft never removes a letter. It only ever adds thread and then trims the spans and tails. So the exit is a design question the craft can constrain but not answer, and the app puts four candidates side by side so the answer can be checked against the eye.
Unpick
The sewing clock runs backward. Strands lift in the reverse of their order, the frontier retreats up the column, and the thread draws back out.
For. Leaves the way it came, as the motion principle asks. Physically plausible: a lockstitch top thread pulls out in reverse once the bobbin thread lets go.
Against. Its length scales with the word. The craft never does it.
Cut and lift
A snip per character in reading order, then the loosened strands scatter and fall along the reading axis, downward.
For. The shop's only subtractive gesture, turned on the letters. Motion follows reading direction.
Against. Destroys what the craft protects. The heaviest of the four.
Fade
The thread loses contrast in place, the relief shadow resolving first.
For. The loading loop's own reset. The cheapest, and the natural reduced-motion form.
Against. Ignores the path entirely.
Walk off
The whole column, strap and all, translates to the right and out, where finished columns go in vertical-rl.
For. The craft's idiom for vertical runs: the strap is walked on.
Against. Honest only when the column leaves by flow, never as a dismissal.
Design Decisions
Why strands instead of a reveal?
An earlier sketch revealed a font glyph column by column, and the study rejected it: nothing in the real process ever reveals a pre-existing letter. A strand engine costs more, but it makes the entrance honest and gives the exit something to run backward through. The face still matters, as it does in the shop, where the customer picks a font sample and the sewer follows it by eye: so the path comes from a real typeface's skeleton, while the letter itself is only ever thread. A hand-drawn stroke library stays as a third style for comparison.
Why does the ground stay still by default?
Two readings of the craft are both honest: a frontier moving down a fixed column (pen on paper) or a column walking past a fixed frontier (fabric under the needle, which is also what scrolling is). Mixing them reads as parody. Text arriving inside a fixed area wants the first; a stream whose newest glyph should hold its height wants the second. The app ships the first and keeps the second as a toggle, because the question is open.
Why is the default exit Unpick?
The spec says enter and exit along the same path with mirrored easing, and Unpick is the only candidate that does. It runs at 1.6 times the sewing speed, the Toast's precedent of an exit quicker than its entrance. The other three stay in the app so the comparison can be made by eye, which is what the app is for.
Why 光明正大?
It is the text the shop sewed down a red strap in the frames the study read most closely: four characters, upright to the strap, a hairline span from one to the next. It is a public idiom rather than a customer's name, each language has its own form of it (광명정대, 公明正大, 光明正大), and between them the four characters exercise verticals, horizontals, hooks and a crossing.
Why does 1x take twenty seconds?
Because that is how long it takes. Frame by frame, the gold Hanja reel sews a character in about five seconds at natural speed, which matches the machine's own cycle rate of up to two thousand stitches a minute against the strand counts here. One needle cycle is one strand, forty a second at 1x. The re-grip between characters, about half a second, and the shorter hesitation between components are read off the same reel. A loading state would run this at 4x; the study runs it true.
Why one angle for every strand?
Because the machine has one. A zigzag needle swings along a single axis and the sewer steers the fabric under it, so the hatch never turns with the letter: a vertical stroke is crossed by the swing, a horizontal stroke is run along it. An earlier build laid each strand across its own stroke, which read as satin filled by software. The strands now share one axis, set in degrees from the machine's own left-right swing, and the thin horizontals the first build imposed as a factor now fall out of the geometry. The hand holding the fabric is not a fixture, so the axis carries a few degrees of play: a slightly different set at every re-grip, a slow drift along the stroke, a flicker from strand to strand. The play is a setting too, and at zero the hatch is a machine's. A true zigzag would also tilt alternate strands by one stitch length; at the reels' distance that reads as parallel, so the app keeps them parallel.
What is verified and what is inferred?
Strand accumulation, the width envelope, thin horizontals, carried spans and the finishing pass were all seen in motion or stated by the shop in its own explainer reels. Stroke order inside a glyph is a heuristic: Hangul strokes are grouped by jamo region, Hanja and kana by connected part from top to bottom and left to right, and the reels never froze a syllable finely enough to check it. Gungseo is used only when the device has it; otherwise the vertical display face stands in and the app says so. A character no face can render is reported, never faked.
Source
The behaviours above were read from the public reels of Cheongyusa, a hand-guided embroidery shop in Namdaemun, Seoul, lettering name tags on a JUKI zigzag machine since 1972: sixty reels in October 2026, eight of them frame by frame. Findings the shop stated or that were seen in motion are treated as fact; the one standing inference, Hangul stroke order inside a moving syllable, is marked above. The app imitates the thread and the light, never the shop.