henry.codes
Data from Aug 20, 2026, 11:37 PM UTC — 19h old.
Built Awesome · 1 measurement · since Aug 20, 2026 · last attempt 19h
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 | 4.65 s | — | — | 4.65 s | 4.65 s | |
| CLS Cumulative Layout Shift | 0 | — | — | 0 | 0 | |
| TBT Total Blocking Time | 60 ms | — | — | 60 ms | 60 ms | |
| FCP First Contentful Paint | 2.62 s | — | — | 2.62 s | 2.62 s | |
| Speed Index | 4.60 s | — | — | 4.60 s | 4.60 s | |
| TTFB Time to First Byte | 674 ms | — | — | 674 ms | 674 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-22 → 2026-08-18). This is what Google measures you on.
| Metric | p75 | Rating | Distribution (good / needs work / poor) |
|---|---|---|---|
| LCP CWV | 2.26 s | good | 81.8% good |
| CLS CWV | 0 | good | 96.9% good |
| FCP | 2.08 s | needs-improvement | 66.2% good |
| TTFB | 1.01 s | needs-improvement | 52.7% good |
Lab vs field
Lab LCP 4.65 s · field p75 2.26 s · real users are 0.49× 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 | — | — | — | — | — |
| 2026-08-08 | — | — | — | — | — |
| 2026-08-01 | — | — | — | — | — |
| 2026-07-25 | — | — | — | — | — |
| 2026-07-18 | — | — | — | — | — |
| 2026-07-11 | — | — | — | — | — |
| 2026-07-04 | — | — | — | — | — |
| 2026-06-27 | — | — | — | — | — |
| 2026-06-20 | — | — | — | — | — |
| 2026-06-13 | — | — | — | — | — |
| 2026-06-06 | — | — | — | — | — |
| 2026-05-30 | — | — | — | — | — |
Page weight
| Metric | Current | Previous | Change | Best | Worst | Trend |
|---|---|---|---|---|---|---|
| Page Weight | 654.0 kB | — | — | 654.0 kB | 654.0 kB | |
| Requests | 49 | — | — | 49 | 49 | |
| Third-party Weight | 3.2 kB | — | — | 3.2 kB | 3.2 kB | |
| Third-party CPU | 2 ms | — | — | 2 ms | 2 ms | |
| Unused JS | 43.5 kB | — | — | 43.5 kB | 43.5 kB | |
| Unused CSS | 10.6 kB | — | — | 10.6 kB | 10.6 kB |
By resource type
Third parties 1 entities
3.2 kB transferred, 2 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 | 1.38 s | — | — | 1.38 s | 1.38 s | |
| Long Tasks | 2 | — | — | 2 | 2 | |
| DOM Elements | 555 | — | — | 555 | 555 | |
| Axe Violations Violating nodes from a full axe run — stricter than Lighthouse's subset | 38 | — | — | 38 | 38 | |
| A11y Failures | 2 | — | — | 2 | 2 | |
| A11y Failing Nodes | 2 | — | — | 2 | 2 |
Main thread work
Axe violations axe-core 4.13.0, full rule set
38 violating nodes across 4 rules, 843 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.
-
moderate
region— All page content should be contained by landmarks 35 nodes -
moderate
landmark-one-main— Document should have one main landmark 1 node -
moderate
landmark-unique— Landmarks should have a unique role or role/label/title (i.e. accessible name) combination 1 node -
serious
svg-img-alt— <svg> elements with an img or image role must have alternative text 1 node
Accessibility failures 2 of 29 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.
-
landmark-one-main— Document does not have a main landmark. 1 node -
svg-img-alt— SVG elements with an `img` role do not have an accessible text alternative 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 20, 2026, 11:37 PM UTC | 77 | 4.65 s | 0 | 60 ms | 654.0 kB | 3/3 | ±13 | 2,380 | 33.6s |
Embed this score
Live below, then the markup that produces it. Drop that on any page to show
henry.codes'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://henry.codes/"></speedlify-score>