Comms Design System

The foundations and components behind the overlay on his screen, the app on his desktop and the app on her phone: a neutral grey, one flat magenta, and rules that keep a game playable.

Principles

  • Subtle, then gone. Every interruption is small, says one thing, and leaves on its own.
  • Only your people. A face you know arrives before any words.
  • The corner, never the crosshair. Nothing in the system draws near the middle of a game.
  • One colour, flat. Magenta means someone at home. Nothing glows.

Every value on these pages is generated from the system’s own tokens.json by one build script, which also writes the overlay’s native constants. It’s a concept system: rendered live in React, with no shipped product behind it. Read the case study →

Foundation

ColourA neutral grey and one flat magenta, in semantic tokens with a light and a dark value each.
TypographyClash Display for the brand’s voice, Neue Montreal for everything a person reads quickly.
Spacing, shape and motionA 4px grid, five radii, and three durations: fast, base and the eight-second fuse.
ElevationDepth comes from soft shadows, never a grey stroke: four steps from a resting row to a dialog.
LogoThe word in Clash Display, its o replaced by the ping: one magenta dot, measured from the glyph.

People and moods

AvatarA person’s photo, or their initial in their own colour, with the ping when they’ve just written.
Mood glyphsSix hand-drawn faces on one silhouette. She chooses one; the product never guesses.
Mood chipA mood as a face and its word, together. Never one without the other.
Mood pickerSix faces as one radio group, on her phone. Tap again to clear.

Controls

ButtonStarts an action. One primary per view, in magenta; secondary and ghost for the rest.
SwitchTurns a setting on or off at once, with a visible label and an optional line of detail.
Corner pickerWhere the overlay sits: three corners, chosen without dragging.
Preset chipsHer usual messages as one-tap chips that fill the composer.
ComposerA labelled message field with a count and a send button, 140 characters at most.
KeycapA key or a chord, with what it does, on light surfaces or the overlay’s glass.

Overlay and status

NotificationThe message on his screen: dark or light glass in the corner, eight seconds, then gone.
Status cardWhere he is, from her side: in a match, the score, and a range for when he’ll be out.

His dashboard

Now playingThe top of Home: the running game in its own art, and how reachable he is.
ReachabilityOne control for open, quiet moments or heads down, replacing three overlapping switches.
Person cardSomeone who can reach him: their rules as tags, their last message, and his reply.
Tags and badgesShort labels for a rule or a state. Ink by default; pink only for someone at home.
Game iconThe game’s own icon where there is official art, a neutral tile where there isn’t.
CardA titled container on the card elevation. No grey stroke; one level only.
Segmented controlTwo to four mutually exclusive options, all visible, one tab stop.
Text field and selectLabelled inputs with a hint or an error tied to the field.
MenuA button that opens a short list of actions. Arrow keys move, Escape returns.
DialogA modal for a decision or a short form. Focus moves in, stays in, and comes back.
ToastA short confirmation, sometimes with Undo. Waits while you hover or focus it.
Empty stateWhat a section says before there’s anything in it, and what to do next.
UpsellThe Comms+ offer, placed where Free stops him. One per page, with the price.
NavigationThree pages in a sidebar that becomes a rail and then a drawer, with a jump list.