A visual identity for mobile apps built from three shapes, three hues, one geometric typeface and a black rule.
Drawn from the 1923 Weimar exhibition poster tradition, Kandinsky's form-and-colour correspondence (circle–blue, square–red, triangle–yellow), and the black-grid structure of De Stijl. Everything below is a token you can lift into a design system; the phone mock-ups at the end show the tokens in use in both themes.
Screen-calibrated from the poster reds, blues and yellows in the references. The deep variants are for pressed states and for text on tinted backgrounds.
Dark-mode primaries are lifted two steps so they hold contrast against black; text-on-colour flips to black accordingly. Both columns pass WCAG AA for body text on their canvas and on-colour pairs.
#F3EFE7#FFFFFF#E9E4DA#000000#4A4741#8A857C#D6D0C4#1E5AA8#D8262C#F2B20A#2E7D4F#000000#1B1B1B#2A2A2A#F3EFE7#C9C3B7#8A857C#3A3A3A#3E7DD1#E8434A#F2B20A#4CA36ECategorical series use the three primaries first, then the extended hues from the interior reference (orange, cyan) and black/paper. Sequential scales are single-hue steps of one primary, as in the concentric red poster. Never mix the extended hues into UI chrome.
One family, Jost — a geometric sans in the Futura lineage that the Bauhaus workshops used. Fallback stack: Futura, Century Gothic, Avenir, then system sans. Weight and size do the work; there are no italics in the system and no all-caps labels. Display sizes use tight tracking; body text is set loose enough to read on a small screen at arm's length.
Rules: 2px in ink colour for structural borders (cards, tabs, nav). 1px hairline for row dividers inside a container. No shadows.
Spacing: a 4pt base scale — 4, 8, 12, 16, 24, 32, 48, 64. Screen gutters are 16; card padding is 16; section gaps are 24. Touch targets are 48pt minimum, buttons 48 tall.
Iconography: build icons from the three primitives on a 24pt grid with 2pt strokes and flat ends. Filled shapes for selected state, outlined for unselected. Status glyphs follow the shape vocabulary: circle for success or presence, square for a stopped or neutral item, triangle for a warning.
The same screen rendered against each token set. The circle-and-square FAB, black-rule tabs and paper-on-black inversion are the recognisable moves; everything else stays quiet.