chrishannah.me
Data from Aug 20, 2026, 4:38 PM UTC 3d old
Built Awesome #1,027 · 1 measurement · since Aug 20, 2026
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-22 → 2026-08-18). This is what Google measures you on.
Scores
Lab metrics Lighthouse, mobile
| Metric | Current | Previous | Change | Best | Worst | Trend |
|---|---|---|---|---|---|---|
| LCP Largest Contentful Paint | 7.74 s | — | — | 7.74 s | 7.74 s | |
| CLS Cumulative Layout Shift | 0.077 | — | — | 0.077 | 0.077 | |
| TBT Total Blocking Time | 0 ms | — | — | 0 ms | 0 ms | |
| FCP First Contentful Paint | 1.73 s | — | — | 1.73 s | 1.73 s | |
| Speed Index | 1.73 s | — | — | 1.73 s | 1.73 s | |
| TTFB Time to First Byte | 497 ms | — | — | 497 ms | 497 ms |
What LCP is made of observed, unthrottled
A flat LCP number tells you something regressed. The subparts tell you whether it was the server, resource discovery, the download, or rendering.
Measured on the trace before throttling is modelled, so these are real durations that will not sum to the 7.74 s above — that figure is a simulation of the same load on a slow phone and connection. Read these for the proportions: which phase dominates.
Field data Chrome UX Report, origin-level
Real Chrome users, 28-day trailing window (2026-07-22 → 2026-08-18). This is what Google measures you on.
| Metric | p75 | Rating | Distribution (good / needs work / poor) |
|---|---|---|---|
| LCP CWV | 1.25 s | good | 95.4% good |
| CLS CWV | 0 | good | 97.7% good |
| FCP | 1.25 s | good | 87.7% good |
Lab vs field
Lab LCP 7.74 s · field p75 1.25 s · real users are 0.16× faster 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 | — | — | 0 | 1.25 s | — |
| 2026-08-08 | 883 ms | — | 0 | 876 ms | — |
| 2026-08-01 | 840 ms | — | 0 | 825 ms | — |
| 2026-07-25 | 797 ms | — | 0 | 811 ms | — |
| 2026-07-18 | 815 ms | — | 0 | 814 ms | — |
| 2026-07-11 | 832 ms | — | 0 | 832 ms | — |
| 2026-07-04 | 848 ms | — | 0 | 847 ms | 658 ms |
| 2026-06-27 | 882 ms | — | 0 | 865 ms | 635 ms |
| 2026-06-20 | 882 ms | — | 0 | 865 ms | 627 ms |
| 2026-06-13 | 866 ms | — | 0 | 839 ms | 568 ms |
| 2026-06-06 | 885 ms | — | 0 | 883 ms | 559 ms |
| 2026-05-30 | — | — | — | — | — |
Page weight
| Metric | Current | Previous | Change | Best | Worst | Trend |
|---|---|---|---|---|---|---|
| Page Weight | 3.86 MB | — | — | 3.86 MB | 3.86 MB | |
| Requests | 18 | — | — | 18 | 18 | |
| Third-party Weight | 132 kB | — | — | 132 kB | 132 kB | |
| Third-party CPU | 5 ms | — | — | 5 ms | 5 ms | |
| Unused JS | 0 B | — | — | 0 B | 0 B | |
| Unused CSS | 0 B | — | — | 0 B | 0 B |
By resource type
Third parties 4 entities
132 kB transferred, 5 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 | 375 ms | — | — | 375 ms | 375 ms | |
| Long Tasks | 0 | — | — | 0 | 0 | |
| DOM Elements | 289 | — | — | 289 | 289 | |
| Axe Violations Violating nodes from a full axe run — stricter than Lighthouse's subset | 87 | — | — | 87 | 87 | |
| A11y Failures | 2 | — | — | 2 | 2 | |
| A11y Failing Nodes | 85 | — | — | 85 | 85 |
Main thread work
Axe violations axe-core 4.13.0, full rule set
87 violating nodes across 4 rules, 557 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
color-contrast— Elements must meet minimum color contrast ratio thresholds 75 nodes -
serious
link-in-text-block— Links must be distinguishable without relying on color 10 nodes -
minor
empty-heading— Headings should not be empty 1 node -
moderate
landmark-unique— Landmarks should have a unique role or role/label/title (i.e. accessible name) combination 1 node
Accessibility failures 2 of 21 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.
-
color-contrast— Background and foreground colors do not have a sufficient contrast ratio. 75 nodes -
link-in-text-block— Links rely on color to be distinguishable. 10 nodes
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 20, 2026, 4:38 PM UTC | 74 | 7.74 s | 0.077 | 0 ms | 3.86 MB | 3/3 | ±31 | 3,285 | 24.4s |
Embed this score
Live below, then the markup that produces it. Drop that on any page to show
chrishannah.me's scores, updated whenever this instance
re-measures — more about the component. Don’t forget to bundle the speedlify2-score.js component code into your site!
<speedlify2-score speedlify-url="https://www.speedlify.dev/" url="https://chrishannah.me/"></speedlify2-score>