RESEARCH // OPEN SOURCE // designing-for-analysts-who-are-already-tired
Designing for Analysts Who Are Already Tired
The user is not fresh
Most interface design assumes an alert, unhurried user. Security operations does not get that user. The analyst reading your screen is several hours into a shift, working an incident that started before they arrived, and deciding whether the thing in front of them justifies waking somebody up.
Every design decision in IntelStack is made against that person, and most of them are not aesthetic decisions at all.
Monospace is a correctness feature
Anything an analyst might copy, compare character by character, or paste into another tool is set in a monospaced face. Hashes, addresses, domains, ASNs, task identifiers, raw payloads.
This is not a stylistic preference. In a proportional font, l and 1 and
I are close enough to confuse at a glance, and a transposed character in an
indicator is not a typo — it is a wrong block rule, or a missed one.
Colour is load-bearing
An analyst reads verdict colour before they read verdict text. That makes the palette a semantic system rather than a decorative one, and it comes with a constraint most design systems do not have: those hues cannot be reused for anything else, anywhere, ever.
Red is malicious. Yellow is contrary evidence. Green is an affirmative clean finding. Blue is enrichment that does not corroborate. Grey is absence. A "nice red" used for an unrelated accent somewhere else in the product borrows credibility from that system and spends it on decoration.
The corollary is that colour is never the only signal. Every verdict badge carries its word as well as its hue, and no badge is ever shortened to a bare dot.
Density is respect
The instinct when a screen feels overwhelming is to add whitespace and split the content across steps. In an operations console that instinct is wrong. Each additional click is a context switch, and each screen an analyst has to remember is state they are holding instead of thinking about the incident.
IntelStack runs small, dense and monospaced — 10px labels, tight rows, four surface levels and no fifth. What makes that legible rather than cramped is tracking: wide letter-spacing on small uppercase text does the work that a larger font size would otherwise do, without spending the vertical space.
Motion has to mean something
The console animates sparingly, and animate-pulse is reserved for state that
is genuinely live. A decorative pulse is not neutral — a user reads motion as
urgency, and one that does not correspond to anything happening is a false
alarm they have to learn to ignore. Teaching an analyst to ignore your
attention signals is an expensive thing to do for a visual flourish.
This research will be directly queryable inside the upcoming IntelStack graph workspace.