designesy
Score a site

designesy.org/drift12 checkscompiled CSSstatic analysiscontract 0.1.1 provisional

Drift radar

Catch a UI drifting off its own system: token names that resolve to nothing, and values that stop clustering on a scale. Built for interfaces an AI model wrote in one session and edited in the next.

Scope
Reads the page, every stylesheet it links, and its inline styles. No login.
Drift radarwaiting for a URL12 checks · ready
Tokens resolve4

Every name the CSS uses is declared somewhere.

Token fabrication, d02 d11 d12: names that look like tokens and resolve to nothing.

Values cluster8

Colors, spacing, radii, shadows and timing stay on a few steps.

Drift within a session, d03 to d10: one role, several raw values, in the same build.

Verdict

Scan a URL and its grade lands on this scale. Point at any cell to read what it checks.

What one scan cannot see
Amnesia between sessions monitor
Values worked out again from scratch, landing somewhere else.
Silent breaking changes monitor
Token values changed with no version bump.

A scan catches the two failure modes named under the cells. These two need history, which Monitor keeps.

  • pass
  • needs work
  • fail
  • does not apply
pass 1warn 0.5fail 0skipped checks leave the count

Method

  1. Fetch the page

    The HTML at the URL, then every stylesheet it links, plus inline style blocks.

  2. Read the system

    Every custom property declared, every var() reference, and each value set for color, spacing, radius, shadow and timing.

  3. Run 12 checks

    Four ask whether the tokens resolve. Eight ask whether the values cluster on a few steps.

  4. Grade

    Pass counts 1, warn 0.5, fail 0. Skipped checks leave the count. A is 90 and up.

score = (pass + warn × 0.5) ÷ checks scored × 100A ≥ 90B ≥ 80C ≥ 70D ≥ 60F belowStatic analysis of compiled CSS: no browser, no login.

Next

Drift radar · Designesy