Synthesized from the portfolio's shipped viz (Spectre, the NEMIXO console, the UFITRA reference mockups) and held to the dataviz six checks.
| Rule | It looks like |
|---|---|
| numbers on marks | Bars carry their count; hover is backup, never required |
| axes are a luxury | No gridline forests; one hairline axis or a dashed reference line at most |
| magnitude = one hue | --data-0..3, the accent ladder; intensity, never category |
| two series max | --data-3 then --data-alt (+ dash); a third folds to small multiples |
| denominator first | "14 of 31 decided", never a naked 45% |
| meaning colors deltas | A falling 5K time renders green |
| identity never color-alone | Word + glyph ride along; sr data behind every chart |
| takeaway captions | Label the meaning, not the axis |
Denominator-first: the number carries where it came from. The micro-bar shows share; the trend is judged, not just signed.
The vital-card anatomy: name, source, the big number, a judged delta, and the trend beneath. The last point gets the dot.
Two series at most: the accent leads, --data-alt follows with a dash so identity survives print and CVD. The dashed reference line carries a positioned mono tag; hover gives a crosshair readout; the range control re-renders in place.
Numbers ride the marks, the goal is drawn on the chart, and today's bar takes the full-strength hue.
Each segment prints its own count when it fits; the stack total sits on top. A 2px surface gap separates fills.
Label, track, mono count: the axis-free distribution. The second hue only when the row IS the second series.
ONE activity language: the same four ladder steps drive the strip, the calendar, and the streak grid, so intensity reads identically everywhere. Today is ringed.
The center reads the ACTIONABLE number, not the total. Track on --data-0, fill on the accent, rotated to twelve o'clock, round caps.
Seven-pixel truth: a process at a glance, triple-encoded (color + the words in the title and aria label). Never color-alone.
Deltas are judged, not signed: a falling run time is green. Every datum can carry its source; charts are never anonymous.
If a chart matches one of these, it is wrong.