Overview REST API MCP server Findings & scoring Rate limits Known limitations Why the source isn't here Support

Documentation

Design Check v0.1 — free during preview. Sibling product to Preflight.

Overview

Design Check scans HTML/CSS/copy for the patterns that make AI-generated UI read as generic. Individual tropes matter (a gradient here, a pill button there), but composition matters more: does the layout vary width and background across sections, or is it one unvarying centered column the whole way down. A page can pass every individual-trope check and still read as templated.

REST API

POST /api/check

curl -X POST https://designcheck.allthepossibles.com/api/check \
  -H "content-type: application/json" \
  -d '{"url": "https://example.com"}'

Body — exactly one of:

FieldTypeDescription
urlstringA page to fetch and check directly.
htmlstringRaw HTML/CSS to check without fetching anything.

Response is a CheckReport: score (0-100, higher is more distinctive), verdict (generic / mixed / distinctive), and a findings array with severity, category, title, detail.

GET /api/stats

Aggregate verdict counts across every check run through Design Check.

GET /status

Live health check. Returns {"status": "operational"}.

MCP server

{
  "mcpServers": {
    "designcheck": { "url": "https://designcheck.allthepossibles.com/mcp" }
  }
}

check_design takes the same input shape as /api/check and returns the report as JSON text content.

Findings & scoring

CheckStatusCost
Typography (generic font stacks)LiveFree
Color (soft tech gradients)LiveFree
Component (pill+arrow CTAs, eyebrows)LiveFree
Layout (composition/asymmetry, uniform grids)LiveFree
Copy (AI vocabulary, negative-parallel, hedge words, em-dash density)LiveFree
Vision (screenshot-based gestalt critique, Claude-powered)Paid tier, coming soon

Score starts at 100 and loses points per finding by severity (critical −30, high −18, medium −10, low −4). Under 50 is generic, 50–79 is mixed, 80+ is distinctive.

Rate limits

20 checks/minute per caller IP during preview, tracked in D1. A 429 means you've hit it. Exists to keep the free tier standing with no billing yet — not meant to block legitimate use, so say something if it's in your way.

Known limitations

All current checks are structural: regex and string analysis over HTML/CSS/text, not a rendered screenshot. Real gestalt-level issues, whether a page actually looks composed once rendered, are only partially covered by the layout heuristics (width/background variation, uniform grids). The vision check closes that gap once it's enabled.

Structural HTML parsing here is regex-based, not a full DOM parser — v1, expanding as real false positives/negatives get reported.

Why the source isn't here

Same reasoning as Preflight: publishing the exact detection patterns makes them easier to write around on purpose. What's public is this documentation, the methodology, and a public repo for issues.

Support

Found a false positive, a false negative, or something broken: open an issue.