§ 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

5 min · Breath

Morning Grounding

Begin the day with a few mindful minutes.

3 min · Breath

Mid-day Reset

A short pause to reset between meetings.

7 min · Body scan

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

/colorgrade

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.

See also