AI interfaces have introduced a new category of UI state that has no direct precedent in traditional software: the generative state. A generative state is not loading (a known outcome that hasn't arrived yet) and not an error (an outcome that failed). It is an in-progress computation whose output is unknown until it completes, often streamed character by character or result by result. Designing color for this state requires new thinking.
**The loading-generating distinction**
Traditional loading states use neutral, desaturated color — grays, muted blues — to indicate waiting. These work because loading implies a known destination: the data is fetched, the image is rendered, the page is ready. Generative states are different: the output emerges gradually and its quality varies by run. Using the same gray loading treatment for AI generation understates the activity happening. Many AI products have landed on a distinct "active" color — often a gentle pulse in a brand accent, or a streaming gradient — that signals generation-in-progress differently from passive waiting.
**Streaming color and text**
Streaming text output (LLM response appearing character by character) creates a visual foreground that moves through the interface. The text cursor or completion indicator benefits from a subtle color distinction from static interface text — this helps the eye track the active generation point rather than scanning static completed text. A common pattern is displaying in-progress streamed text in a slightly lower-opacity version of the final text color, transitioning to full opacity as generation completes. This gives a natural fade-in quality to the interface without requiring an explicit animation.
**Communicating confidence without numbers**
Some AI features benefit from communicating model confidence or certainty — a search ranking, a tag suggestion, a spell-check alternative. Color is one channel for this. A high-confidence suggestion rendered in full brand color versus a lower-confidence alternative in a muted gray uses color to communicate probability without surfacing raw numbers. The risk is that most users will not consciously interpret this color differential — it works as a subliminal priority signal, not an explicit readout. Do not rely on confidence color where users need to make high-stakes decisions from explicit probabilities.
**Error and refusal states**
AI models produce refusals, content policy responses, and tool failures alongside normal output. These need clear visual differentiation from both successful output and standard error states. A standard form validation error (red, inline, adjacent to the offending field) is not the right pattern for an AI refusal that appears in the conversation stream. Many products use a muted amber or a visually contained block with a distinct background color to set off model refusals and system messages from user/AI turn content — preserving the visual cadence of conversation while marking these special cases.
**Dark mode is the default**
AI products disproportionately default to dark mode: the terminal aesthetic, the technical-professional positioning, and the visual weight of large text blocks all favor dark backgrounds. If you are designing an AI product, test dark mode first. The color system should be designed for dark backgrounds as the primary context, with light mode as the alternative, rather than the reverse.
ColorArchive Notes
2029-10-13
Color in AI Interfaces: Communicating Generative States, Confidence, and Uncertainty
AI-native products require a new color vocabulary — how to signal processing states, communicate model confidence without numbers, handle streaming text, and design for a product whose outputs are probabilistic rather than deterministic.
Newer issue
Color in Mobile UI: Small Screens, OLED Considerations, and Platform Conventions
2029-10-06
Older issue
Print to Digital: Managing Color Fidelity Across Mediums
2029-10-20
