select-me

Print-ready shirt artwork from one SQL query.

Your details

Nothing leaves your browser. There is no server to send it to.

Ink

The query

Every name and value in it is yours to change.

SELECT FROM

WHERE = ''

AND = ;

Change the wording

Loading IBM Plex Mono…

What your printer gets

One folder, five files, every number they will ask you for already written down.

Two inks, nothing else

Every line is one of two colours, so a screen printer burns two screens per placement instead of matching a gradient. PDFs carry real CMYK values and a Pantone reference, not a screen-RGB guess.

The QR square is a knockout

Its dark modules are unprinted — the garment shows through them. Fill them in and the code stops scanning, so the spec sheet says so in the largest words on the page.

Type is outlined

Every character ships as a filled contour, so there is no font to install and nothing to substitute. The most common way artwork arrives wrong is already ruled out.

This was one shirt

It started as an interview shirt. My title across the shoulders, the query sitting just underneath, and a little QR square that jumps straight to my work. That was the whole plan.

Then people started asking for their own. Fair enough, but a design that only fits one person is a worse design than one that fits anybody. Full stop.

So I went back to the original artwork and measured it down to a hundredth of a millimetre (yes, really), then pieced together the logic behind every type size on it. Turns out one rule was quietly running the whole show: every auto-sized line fills 99% of its column. Not 100, just 99. That leftover 1% is the reason the last letter never quite kisses the trim edge.

The tests? They rebuild my own shirt from those rules and hold it up against the original file, edge against edge. It matches to within 0.01 mm. I’ll admit that one felt pretty good.

— Yazan Ali, who is still available.