WorkBefore/after case study
lovable.dev · A on arrival
An AI-built site that already passes the contract — without knowing it existed.
lovable.dev was scored by the same /api/score engine that grades every other site. The result was an A — 19 pass, 0 fail, 3 warn, 4 skip — without the site ever citing the Designesy contract. This is the case the AI-site-build narrative did not expect: a generator that ships good defaults and lands in contract territory by accident.
Summary
Outcome · A · 93.2
lovable.dev scores A on the Designesy contract — 19 of 26 checks pass, 0 fail, 3 warn, 4 skip. The 3 warnings are token-strictness gaps (will-change scope, rem confirmation, tabular-nums). The 4 skips are browser-only checks that the current deployment cannot run. The headline is the zero in the failure column: an AI app platform shipped a site that breaks no contract rules the static engine can see.
Score breakdown
A · 93.2 · before only
19 pass · 0 fail · 3 warn · 4 skip
Projected · A+
Resolving the 3 WARNs (v12, v16, v19) would land lovable.dev at A+ — no architectural change, only token tightening.
The 3 warnings
will-change restricted to transform and opacity only
A non-transform/opacity will-change declaration exists somewhere in the CSS. One-line fix: scope it to transform/opacity only.
Rem-based scale: all text sizes in rem, root at 16px
Most text is in rem but the check wants confirmation the root is locked at 16px. A single html { font-size: 16px; } would resolve it.
tabular-nums: 8 instances across the live CSS
Numeric contexts (stats, counts, prices) could use font-variant-numeric: tabular-nums to prevent column jitter. 0 instances found today.
The 4 skips (honest)
Each skip is the deployment’s limitation, not the site’s. lovable.dev is not penalized for an unrun check — the engine returns SKIP with a diagnostic string.
Responsive overflow at 4 viewports
Needs a browser at 375/720/860/1080. ENABLE_BROWSER_AUDIT=1 on the deployment.
Sound toggle aria-pressed flip
Needs a browser to click the toggle and observe state. lovable.dev may not have a sound toggle — that would resolve as PASS or WARN.
Core Web Vitals (LCP/INP/CLS)
Needs PageSpeed Insights API or a Chromium CDP trace. PSI_API_KEY on the deployment.
Primary button WCAG AA contrast
Browser check — the static path cannot measure computed contrast against a signal fill.