surma.dev
Data from Aug 21, 2026, 7:45 AM UTC — 11h old.
Built Awesome · 1 measurement · since Aug 21, 2026 · last attempt 11h
Stack
Detected on the same page load as the accessibility pass — the generator
from <meta name="generator"> or the shape of the page,
the host from response headers.
Core Web Vitals field data, origin-level
Real Chrome users, 28-day window (2026-07-23 → 2026-08-19). This is what Google measures you on.
Scores
Lab metrics Lighthouse, mobile
| Metric | Current | Previous | Change | Best | Worst | Trend |
|---|---|---|---|---|---|---|
| LCP Largest Contentful Paint | 2.42 s | — | — | 2.42 s | 2.42 s | |
| CLS Cumulative Layout Shift | 0 | — | — | 0 | 0 | |
| TBT Total Blocking Time | 0 ms | — | — | 0 ms | 0 ms | |
| FCP First Contentful Paint | 2.11 s | — | — | 2.11 s | 2.11 s | |
| Speed Index | 2.11 s | — | — | 2.11 s | 2.11 s | |
| TTFB Time to First Byte | 613 ms | — | — | 613 ms | 613 ms |
What LCP is made of
A flat LCP number tells you something regressed. The subparts tell you whether it was the server, resource discovery, the download, or rendering.
Field data Chrome UX Report, origin-level
Real Chrome users, 28-day trailing window (2026-07-23 → 2026-08-19). This is what Google measures you on.
| Metric | p75 | Rating | Distribution (good / needs work / poor) |
|---|---|---|---|
| LCP CWV | 2.55 s | needs-improvement | 75.9% good |
| CLS CWV | 0 | good | 97.8% good |
| FCP | 2.03 s | needs-improvement | 71.2% good |
| TTFB | 1.31 s | needs-improvement | 48.9% good |
Lab vs field
Lab LCP 2.42 s · field p75 2.55 s · real users are 1.06× slower than the lab.
Field history 25 weeks
Weekly p75 from the CrUX History API, backfilled in a single request.
| Week ending | LCP | INP | CLS | FCP | TTFB |
|---|---|---|---|---|---|
| 2026-08-15 | 2.33 s | — | 0 | 1.94 s | 1.24 s |
| 2026-08-08 | 2.26 s | — | 0 | 1.94 s | 1.23 s |
| 2026-08-01 | 2.18 s | — | 0 | 1.72 s | 1.22 s |
| 2026-07-25 | 2.20 s | — | 0 | 1.75 s | 1.23 s |
| 2026-07-18 | 2.25 s | — | 0 | 1.76 s | 1.25 s |
| 2026-07-11 | 1.95 s | — | 0 | 1.70 s | 1.15 s |
| 2026-07-04 | 2.40 s | — | 0 | 1.78 s | 1.15 s |
| 2026-06-27 | 2.29 s | — | 0 | 1.76 s | 978 ms |
| 2026-06-20 | 2.26 s | — | 0 | 1.73 s | 978 ms |
| 2026-06-13 | 2.44 s | — | 0 | 1.74 s | 983 ms |
| 2026-06-06 | 2.22 s | — | 0 | 1.64 s | 978 ms |
| 2026-05-30 | 1.99 s | — | 0 | 1.57 s | 1.01 s |
Page weight
| Metric | Current | Previous | Change | Best | Worst | Trend |
|---|---|---|---|---|---|---|
| Page Weight | 189.2 kB | — | — | 189.2 kB | 189.2 kB | |
| Requests | 24 | — | — | 24 | 24 | |
| Third-party Weight | 12.4 kB | — | — | 12.4 kB | 12.4 kB | |
| Third-party CPU | 3 ms | — | — | 3 ms | 3 ms | |
| Unused JS | 0 B | — | — | 0 B | 0 B | |
| Unused CSS | 0 B | — | — | 0 B | 0 B |
By resource type
Third parties 2 entities
12.4 kB transferred, 3 ms of main thread time. This is the number most likely to regress without anyone on your team shipping anything.
Page health
| Metric | Current | Previous | Change | Best | Worst | Trend |
|---|---|---|---|---|---|---|
| Main Thread Work | 533 ms | — | — | 533 ms | 533 ms | |
| Long Tasks | 0 | — | — | 0 | 0 | |
| DOM Elements | 121 | — | — | 121 | 121 | |
| Axe Violations Violating nodes from a full axe run — stricter than Lighthouse's subset | 2 | — | — | 2 | 2 | |
| A11y Failures | 2 | — | — | 2 | 2 | |
| A11y Failing Nodes | 2 | — | — | 2 | 2 |
Main thread work
Axe violations axe-core 4.13.0, full rule set
2 violating nodes across 2 rules, 214 passing. This is a standalone axe run, stricter than the subset Lighthouse folds into its score above — and it is the second tiebreaker in the ranking.
-
serious
html-has-lang— <html> element must have a lang attribute 1 node -
critical
image-alt— Images must have alternative text 1 node
Accessibility failures 2 of 14 audits
Tracked as a count, not just the score — the weighted score is coarse enough that you can ship a broken component and barely move it.
-
html-has-lang— `<html>` element does not have a `[lang]` attribute 1 node -
image-alt— Image elements do not have `[alt]` attributes 1 node
Hygiene
Changes rarely — which is exactly why a change is worth noticing.
Measurement log
Every stored run for this URL, newest first. Failures are kept as records — "this site was down on Tuesday" is data too.
| When | Perf | LCP | CLS | TBT | Weight | Runs | Spread | Bench | Took |
|---|---|---|---|---|---|---|---|---|---|
| Aug 21, 2026, 7:45 AM UTC | 96 | 2.42 s | 0 | 0 ms | 189.2 kB | 3/3 | ±1 | 3,009 | 20.2s |
Embed this score
Live below, then the markup that produces it. Drop that on any page to show
surma.dev's scores, updated whenever this instance
re-measures — more about the component. Don’t forget to bundle the speedlify-score.js component code into your site!
<speedlify-score speedlify-url="https://zachleat.github.io/speedlify2/" url="https://surma.dev/"></speedlify-score>