01
Make it concrete.
Objects, numbers, decisions and outcomes. Show what changed—not how impressive it sounds.
“12 reports → one decision view.”
Brand system · v2.0 · 2026
I turn messy systems into working things—then show exactly how.
One line is the method: observe → reduce → build → explain.
01
The identity should feel like the work: exact enough for a boardroom, curious enough for a workbench.
01
Objects, numbers, decisions and outcomes. Show what changed—not how impressive it sounds.
“12 reports → one decision view.”
02
One type family. One line language. One strong contrast. Remove until the signal becomes obvious.
“Mess in. Method out.”
03
Precision without sterility. Dry humor, honest process, and the occasional visible screw head.
“Built by hand. Checked by data.”
02
The revised path contains one continuous subpath. No lift, no disconnected final stroke, no visual claim the SVG cannot prove.
Ink on paper
Paper on ink
Clear space
Approved lockup
Do Keep the path continuous and give the mark room.
Never redraw, stretch, shadow or decorate the mark.
Project icons are drawn with the same single line as the figures: one continuous stroke, round caps, no fills.
Every mark draws itself on. A logo that appears without its line being drawn is off-brand.
03
Archivo stays. The scale is reduced to roles people can actually remember and implement.
Display / 900 + 180
Built. Then explained.
Heading
Light that follows the sun.
Lead
A working system deserves a clear explanation.
Body
Use ordinary sentences for evidence, context and decisions. Keep the line length between 45 and 68 characters where possible.
Label
04 / Case study · 2026
| Role | Token | Size | Weight / tracking | Line |
|---|---|---|---|---|
| Display | --type-display | clamp(3rem, 9vw, 8rem) | 900 / 200 | .88 |
| Heading | --type-heading | clamp(2rem, 4vw, 4rem) | 800 | .98 |
| Lead | --type-lead | 1.25–1.65rem | 500 | 1.35 |
| Body | --type-body | 1–1.125rem | 400 | 1.62 |
| Label | --type-label | .78rem | 600 | 1.3 |
04
Brand color and functional color are separate layers. Every functional hue carries a word or symbol as well as color.
Paper
#FFFFFFSurfaceInk
#000000Primary / inverseBody
#2B2B2BLong-form copyMuted
#5F5F5FSecondary labelsFunctional layer
Every status colour travels with a word or symbol. Never make colour do the only communication.
05
There is one voice: first-person, concrete, compressed, dry and true. Context changes the warmth—not the character.
Published / cooler
“Demolition to done: one room, six weekends, every cut mine.”
Social / warmer
“Soldered it Saturday. Working by Sunday. Here’s what broke first.”
Always
Never
Four-line test
06
The system earns its name when tokens become components and components define their states.
Actions
Tags
Lights, climate and blinds that answer locally—ESP32 and Raspberry Pi, no cloud.
Metric card
Reports consolidated into one decision view.
07 / Ship
Before a release, verify the message, the tokens, the states and the evidence—not just the screenshot.