MixSafe — design & distribution
I built MixSafe — a harm-reduction tool that rates any combination of 41 substances in about four seconds — and then I built everything that got people to it.
Every asset on this page is mine: the logo system, the campus flyer series, twelve rounds of stickers, and the social kit. No agency, no template, no stock. The engineering problem didn't stop at the site — a tool nobody finds helps nobody, so distribution got designed with the same care as the checker.
01 / Identity
A capsule split clean across its seam: two halves that meet, and a visible gap where the answer goes. It had to work at 24px as a favicon and at four inches on a poster, in one colour, on both grounds. The study below is the argument for the mark, not just the mark.
02 / Campus flyers
Every poster makes exactly one claim and backs it with a number from the tool's own data. No sheet asks anyone to stop doing anything — the campaign works because it answers a question people are already asking, rather than delivering a lecture they've heard before. Letter size, designed to hold up taped at eye level in a corridor.
03 / Stickers
A sticker has to land in the two seconds someone spends at a sink. Twelve rounds went by before a set earned a print run — most of what got cut was cut for being clever instead of clear. These ship as trim and bleed files at 300 dpi, with the die radius flattened so a cut landing 0.02in off still takes artwork rather than white.
04 / The system underneath
The part that makes this engineering rather than decoration: every sheet is instrumented, every figure is traceable, and the print files are built to survive a vendor rather than to look right on a screen.
Each sheet carries its own QR code resolving to
mixsafe.org/?f=<code> — two letters, because every extra
character makes the code denser and a dense QR fails at sticker size. Before
that, all twenty-three posters shared one code and were a single
undifferentiated blob in the analytics. A flyer code identifies a poster,
never a person, so the “no tracking” line on every sheet stays literally true.
Every figure printed here is pulled from the tool's own database, not estimated: 41 substances, 820 rated pairs, and the 139 / 79 / 203 / 399 verdict split. An earlier run of sheets quoted 35 and 595 — printing those would have meant paying to publish a stale claim, so the whole set was regenerated against the live data first.
Boards are authored at trim and rendered to both trim and bleed at 300 dpi,
with a pHYs chunk written so a printer reading DPI from the file
lands on 300 instead of 72. Bleed is edge replication rather than a guessed
fill colour, which is the only thing that works against a gradient ground.
No asset here was exported by hand. Every board is HTML, laid out on a canvas and screenshotted headless by a build script, so a corrected figure means editing one value and re-running — not reopening twenty-three files and re-exporting each one.