Elijah Croft

MixSafe — design & distribution

Party hard.
Mix safe.

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.

221Artboards
23Campus flyers
12Sticker rounds
300 dpiPress-ready

See the full selected work — web, stickers, print, social

01 / Identity

The information pill

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

Twenty-three sheets, one argument each

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.

Party hard. Mix safe.The flagship sheet; the line the whole campaign hangs on.
Red cutSame line at maximum contrast — built to read from down the corridor.
820 combos. One search.Every rated pair as one colour cell — the whole dataset as the artwork.
Drawn to scale820 / 421 / 218 / 139 as nested areas, so the proportion is the argument.
Four of the six worst are in a pharmacyRanked bars, split by verdict — the finding that surprises people most.
Six answers, none “safe”Bar height is the share of pairs. The best any combination gets is low risk.
Before you mix, check.The plainest sheet in the set — the one a health centre can put its name on.
Where the data comes from421 / 244 / 155 by source. A rating without a provenance isn't a rating.
Nothing happened.The redose trap — the failure mode where the quiet result is the danger.
Same warning. Two kinds of harm.One severity word can't tell you which — so the sheet labels both axes.
Someone handed you something.Dated for one weekend — the campaign's only sheet with an expiry.
Tear-offsThe only sheet that leaves the wall with you — one strip, one QR.

03 / Stickers

Twelve rounds to get to five

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.

Cabinet4 × 1in strip. The whole pitch in seven words.
AntihistamineThe most over-the-counter drug in the set, and the most warned about.
Same aisleTwo drugs from one shelf, 4 warnings against 36.
One pairRuns against the expectation — which is exactly why it gets read.
Without tellingAimed at the real barrier: a phone that other people can see.
TriangleThree nodes, three edges, every edge dangerous. No text needed.
Tramadol22 of 40 against fentanyl's 12 — the statistic that stops people.
ZeroMelatonin 4, caffeine 13, alcohol 27. Nothing on the list is inert.
FieldAll 820 pairs, one dot each, sorted by verdict — the dataset as an object.
Nobody plans“It is a drink on top of a prescription.” The most common case, named.
Not a sourceOverheard at a party, promoted to a claim. The campaign's thesis.
ScaleThe URL sitting on its own data — 139 / 79 / 203 / 399, to width.

04 / The system underneath

Designed to be measured

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.

Attribution

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.

One number, one source

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.

Press-ready output

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.

Rendered from source

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.