Vigil
All articles
DesignJul 2, 2026 · 8 min read

Status-by-colour-alone is failing your on-call

A red dot tells you something is wrong. It doesn’t tell you what, since when, or whether you can trust it — and for 1 in 12 of your engineers, it may not be red at all.

DK
Dejan K.
CTO, Lilly021

Open almost any monitoring dashboard and you’ll meet the same design: a grid of dots. Green is fine, red is not, maybe amber sits somewhere in between. It reads instantly — which is exactly why it’s so tempting, and exactly why it quietly fails the people who rely on it most.

The colour-only dot has three problems

First, roughly eight percent of men have some form of colour-vision deficiency. For a meaningful slice of your on-call rotation, red and green are the two least distinguishable colours you could have picked. A status system that encodes its single most important signal in exactly that axis is, for those engineers, not a status system at all.

Second, a colour has no memory. A dot that is red right now tells you nothing about whether it went red ten seconds ago or ten hours ago, whether it has flapped forty times today, or whether this is the first time all quarter. Severity without history is a jump-scare, not information.

A red dot is an interruption. What you actually need on-call is an explanation.— our design principle #3

Third, colour collapses distinct states into one bucket. “The check failed” and “we couldn’t run the check” are completely different situations — one is an outage, the other is often a permissions or verification problem on your side — yet both usually render as the same angry red.

What we did instead

In Vigil, severity is never carried by colour alone. Every status pairs a colour with a text label and, wherever it appears, a shape or icon. “Down” is red and says Down; “can’t evaluate” is a distinct violet and says exactly that. You can read the entire cockpit in greyscale and lose nothing.

We also gave severity a fourth state that most tools fold away. “Could-not-evaluate” ranks just below “down” and is visually its own thing, because the fix is different: you’re not restarting a server, you’re verifying a domain or rotating a token.

fail   → red     "Down"          rank 0
error  → violet  "Can’t evaluate" rank 1
warn   → amber   "Warn"          rank 2
ok     → green   "Healthy"       rank 3

And every dot is backed by history. Hover any unit and you get its severity strip over time; open it and you get the raw evidence behind the current state. The colour is just the entry point — never the whole story.

The test we hold ourselves to

A tired engineer, woken at 3am, colour-blind or not, should be able to look at Vigil for three seconds and answer three questions: what is broken, since when, and can I trust that. If any one of those needs a second click to even begin, the design has failed. Colour alone answers none of them.

Watching client sites the hard way? Try Vigil free →
More articles