michaelharley.net
Ranks Overall #650 Built Awesome #520
Data from Sep 22, 2026, 3:53 AM UTC old Measured once a week · 7 runs since Aug 21, 2026
Elsewhere:
PageSpeed Insights ·
Calibre ·
Treo ·
CrUX Vis ·
Tame the Bots ·
Scoring Calculator ·
Wayback Machine
https://mharley.dev/.
History from the previous URL is included below, with the move on Sep 7, 2026. A step-change around that point is likely the change of address rather than a regression.
Lab data is measured using Lighthouse, Mobile mode unless otherwise specified. Field data is reported from Chrome UX Report (using p75 measurements).
Stack
Lighthouse Scores LAB Simulated
Metrics LAB FIELD
Field figures are the p75 across real Chrome users over a 28-day trailing window (2026-08-24 → 2026-09-20), origin-level.
| Metric | Lab Simulated | Field | |||
|---|---|---|---|---|---|
| Value | Change / range | Trend | p75 | Distribution | |
| LCP CWV Largest Contentful Paint | 2.15 s good | ↓ -330 ms (-13.3%) 2.15 s – 3.37 s | 1.01 s good | 96.8% 2.2% 1% | |
| INP CWV Interaction to Next Paint — field only, no lab run can measure it | n/a | — | — | — | |
| CLS CWV Cumulative Layout Shift | 0 good | → no change 0 – 0.004 | 0 good | 99.3% 0% 0.7% | |
| TBT Total Blocking Time | 0 ms good | → no change 0 ms – 18 ms | n/a | — | |
| FCP First Contentful Paint | 962 ms good | ↓ -449 ms (-31.8%) 962 ms – 2.35 s | 1.00 s good | 92.5% 3.7% 3.8% | |
| Speed Index | 962 ms good | ↓ -1492 ms (-60.8%) significant 962 ms – 2.45 s | n/a | — | |
| TTFB Time to First Byte | 662 ms good | ↑ +1 ms (+0.2%) 624 ms – 662 ms | 555 ms good | 86.4% 12.8% 0.8% | |
LCP Subparts LAB Unthrottled
The subparts attribute LCP to your server, resource discovery, download, or rendering. Note that the Lab LCP shown above is a simulated throttled estimate.
LCP LAB Simulated vs LCP FIELD
The lab LCP is 2.13× the field p75 — real users likely have above-average hardware or network connectivity.
Page weight
| Metric | Value | Change / range | Trend |
|---|---|---|---|
| Page Weight | 367 kB | ↑ +2.5 kB (+0.7%) 255 kB – 613 kB | |
| Requests | 32 | ↑ +1 (+3.2%) 31 – 35 | |
| Third-party Weight | 3.2 kB | ↓ -1 B 3.2 kB – 613 kB | |
| Third-party CPU | 7 ms | ↑ +1 ms (+27.5%) 5 ms – 10 ms | |
| Unused JS | 0 B | → no change 0 B – 0 B | |
| Unused CSS | 15.3 kB | ↑ +441 B (+3%) 14.1 kB – 15.3 kB |
By resource type
| Type | Transfer | Share | Size | Requests |
|---|---|---|---|---|
| image | 55.6% | 203 kB | 14 | |
| font | 27.8% | 102 kB | 6 | |
| stylesheet | 6.7% | 24.5 kB | 1 | |
| other | 5.3% | 19.3 kB | 3 | |
| document | 3.9% | 14.2 kB | 1 | |
| script | 0.8% | 2.8 kB | 1 | |
| Total | 367 kB | 32 |
Third parties 1 entities
| Entity | Transfer | Size | Main thread Simulated |
|---|---|---|---|
| Fathom Analytics | 3.2 kB | 7 ms | |
| Total | 3.2 kB | 7 ms |
Page health
| Metric | Value | Change / range | Trend |
|---|---|---|---|
| Main Thread Work | 854 ms | ↓ -126 ms (-12.9%) significant 670 ms – 982 ms | |
| Long Tasks | 1 | ↓ -1 (-50%) 0 – 2 | |
| DOM Elements | 577 | ↑ +2 (+0.3%) 342 – 717 | |
| Axe Violations Violating nodes from a full Axe CLI run (more than Lighthouse reports) | 1 | → no change 0 – 1 | |
| A11y Failures | 1 | → no change 0 – 1 | |
| A11y Failing Nodes | 1 | → no change 0 – 1 |
Main thread work
| Task | Time | Share | Duration Simulated |
|---|---|---|---|
| other | 43% | 367 ms | |
| style layout | 36% | 307 ms | |
| paint composite render | 12% | 101 ms | |
| script evaluation | 6% | 51 ms | |
| parse HTML | 2% | 21 ms | |
| script parse compile | 1% | 8 ms | |
| Total | 854 ms |
Axe violations axe-core 4.13.0, full rule set
1 violating node across 1 rule, 846 passing. This is a standalone Axe CLI run and is stricter than the subset Lighthouse already includes.
-
serious
color-contrast— Elements must meet minimum color contrast ratio thresholds 1 node
Accessibility failures 1 of 25 audits
-
color-contrast— Background and foreground colors do not have a sufficient contrast ratio. 1 node
Hygiene
Measurement log
Every stored run for this URL, newest first.
| When | Scores | Perf | LCP | CLS | TBT | Weight | Runs | Spread | Bench | Took | Archive |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Sep 22, 2026, 3:53 AM UTC | 99 | 2.15 s | 0 | 0 ms | 367 kB | 3/3 | ±5 | 2,469 -1% | 29.8s |
|
|
| Sep 15, 2026, 12:19 AM UTC | 97 | 2.48 s | 0 | 0 ms | 364 kB | 3/3 | ±4 | 2,487 0% | 27.5s |
|
|
| Sep 7, 2026, 10:31 PM UTC | 98 | 2.38 s | 0.004 | 0 ms | 479 kB | 3/3 | ±2 | 2,652 +7% | 26.2s |
|
|
| Sep 7, 2026, 3:02 PM UTC old URL | 91 | 3.37 s | 0.004 | 18 ms | 613 kB | 3/3 | ±11 | 2,407 -3% | 24.3s |
|
|
| Aug 31, 2026, 10:44 AM UTC old URL | 96 | 2.65 s | 0 | 12 ms | 261 kB | 3/3 | ±2 | 2,345 -6% | 23s |
|
|
| Aug 21, 2026, 4:56 PM UTC old URL | 93 | 2.82 s | 0 | 0 ms | 255 kB | 3/3 | ±4 | 2,424 -2% | 23.6s |
|
|
| Aug 21, 2026, 4:47 AM UTC old URL | TRACING_ALREADY_STARTED: An internal Chrome error occurred. Please restart Chrome and try re-running Lighthouse. |
19.2s | |||||||||
Embed this score
Use this web component to show michaelharley.net's scores on any website, updated whenever this instance re-measures. Don’t forget to bundle the speedlify2-score.js component code into your site!
<speedlify2-score speedlify-url="https://www.speedlify.dev/" url="https://michaelharley.net/"></speedlify2-score>