§ Corrective
/colorgrade
Color discipline — palette, contrast, accent scarcity.
What it does
The purple gradient. The tech-blue accent. Pure black on pure white. These are the watermarks of AI-generated UI — patterns common enough that they function as visual signatures of default output. /colorgrade leaves them behind, replacing them with palette decisions that match the product’s character rather than the training data’s.
Like the other correctives, it uses a smart-default autonomy model. Small craft fixes — tinting pure black and pure white, fixing contrast failures, establishing text-color hierarchy — get applied directly. Palette-character shifts — replacing a tech-blue accent with something committed, converting hex to OKLCH, changing the temperature of the neutrals — are surfaced for your approval before executing.
Interactive
For tonight
It’s evening — let the day settle with Evening Wind-down.
7 min · Body scan
Morning Grounding
Begin the day with a few mindful minutes.
Mid-day Reset
A short pause to reset between meetings.
Evening Wind-down
Let the day settle before sleep.
On Stillpoint
The personalization banner and practice cards above are real Stillpoint surfaces — their actual palette matches the after-state and renders that way at /case-study. The before-state is illustrative: what AI defaults would have produced if /foundations and /colorgrade hadn’t established Stillpoint’s warm palette character. /colorgrade’s actual work on Stillpoint is verification — confirming the palette is intact, no token overrides shipped.
When to use it
- The palette feels generic, defaulted, or has the AI-default color aesthetic.
- The interface uses a purple gradient, tech-blue accent, or similar pattern that wasn’t deliberately chosen.
- Pure black (#000) and pure white (#FFF) appear without tinting, producing a flat, lifeless feel.
- Accent color is overused — appearing in too many places without clear reason.
- Contrast is either failing accessibility or sitting exactly at minimums (4.5:1) across the board.
- Dark mode exists but was implemented as a mechanical inversion rather than a parallel system.
How to use it
By default /colorgrade runs a full pass — palette construction, neutral tinting, accent strategy, contrast, semantic colors, and dark mode if present. Pass a scope argument to focus on one area, or describe what you want fixed in plain language. Spruce stays focused on the requested area without drifting.
- /colorgrade accent
- /colorgrade neutrals
Anti-patterns it addresses
- Purple-to-blue gradients as the dominant accent treatment — the most recognizable visual watermark of AI-generated UI.
- Tech-blue (#3B82F6 and its neighbors) as a silent default accent on every CTA, link, and active state.
- Pure black on pure white. No tinting on either end. Reads as untreated — characters who don’t know they’re in a palette.
- Accent color used in five places per screen. Badge, ring, checkmarks, button, hover state — all the same hue. Nothing carries the eye because everything is shouting.
- Contrast sitting exactly at WCAG minimums (4.5:1) across the board, suggesting the palette was sampled rather than tuned.
- Dark mode as a mechanical light-to-dark inversion, instead of a parallel palette where the relationships have been re-thought for the dark surface.