Designing a messaging app where a letter is held, never kept
Every letter is in one pair of hands at a time. You read it, pass it on, or let it go back.

- Role
- Solo design and prototype
- Year
- 2026
- Status
- Concept, not shipped
- Built with
- HTML, CSS, JS, Paper Shaders
Starting from one rule, and letting every decision follow from it
A letter is in one pair of hands at a time. It moves or it dies, and nothing is archived.

Designing the whole loop as the path one letter takes
In hand, read, choose, hand over, then back to its author or nowhere. Every screen answers: and if I do nothing?
- In handIt arrivesEverything you hold has a clock.

- ReaderYou read itHours left, and what happens if you do nothing.

- ChoosingYou pick whoSomeone you know, a friend of a friend, or a stranger.

- Handed overIt leavesA toast with Undo, never a dialog.

- YoursOr it comes backBack to its author, or nowhere at all.

Letting a letter leave as it went, so handing over feels final
It lifts and turns out of frame instead of blinking away. The departure is the only confirmation it is no longer yours.
Putting colour on the letters alone, so a feed reads as objects
Chrome, rows and drafts wear no colour. Only a letter carries a wash, so a feed reads as a handful of objects on a clean table.

Giving the writing the card, and everything else one quiet line
A design that needs a legend has a problem. Every part on the card says one thing outright.
- The writing first. No sender header, no avatar: a face on a card is a wash on a wash.
- Hours say left. A bare “3h” beside a name read as age.
- One digit for hands. Not beads, not “the sixth pair of hands”.
- A quiet Pass. The crimson Pass lives only in the reader, where the decision is made.

Making being chosen read as one idea
Each rung carries a mark that fills when chosen, and the picked person wears the same pill and the same mark.

Replacing “Are you sure?” with Undo, so mistakes are reversible
No dialog on the way in. After Hand it over, the feed returns with who it went to and Undo for a few seconds.

Never losing the writing: Done saves the draft to Yours
Leaving never loses the writing. The note says the one thing that matters: once handed over, it cannot be called back.

82
controls in 24 kinds, each measured against a 44 point target
WCAG asks for 24. Small controls grow an invisible hit area to 44, so nothing visible moves out of line.
Measuring contrast, because every failure was invisible to the eye
Eight colour failures in this project, none of which looked wrong. Each was found only by measuring the rendered pixels.
Cutting the mark from the same field the letters sit on
The mark and the letters share one material, so the brand is the product, not a badge on it.


Building the palette from paper, ink and one arc of hues
Four field colours for the letters, and one crimson for the thing you press.
A concept, designed to find out what it should be
Not shipped. Designed and prototyped end to end in HTML, CSS and JS, with a library that measures itself.