juanlam.com
Ranks Overall #1,550 Built Awesome #1,028
Data from Oct 4, 2026, 4:32 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
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
No field data: the Chrome UX Report is not being collected for this project, so every figure below is from the Lighthouse run.
| Metric | Lab Simulated | ||
|---|---|---|---|
| Value | Change / range | Trend | |
| LCP CWV (estimate) Largest Contentful Paint | 17.88 s poor | → no change 17.88 s – 18.96 s | |
| INP CWV Interaction to Next Paint — field only, no lab run can measure it | n/a | — | |
| CLS CWV (estimate) Cumulative Layout Shift | 0.068 good | → no change 0.068 – 0.148 | |
| TBT Total Blocking Time | 129 ms good | ↑ +95 ms (+279.4%) significant 34 ms – 191 ms | |
| FCP First Contentful Paint | 1.88 s needs work | ↓ -8 ms (-0.4%) 1.88 s – 3.81 s | |
| Speed Index | 1.88 s good | ↓ -8 ms (-0.4%) 1.88 s – 3.81 s | |
| TTFB Time to First Byte | 626 ms good | ↓ -1 ms (-0.2%) 604 ms – 732 ms | |
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.
Page weight
| Metric | Value | Change / range | Trend |
|---|---|---|---|
| Page Weight | 3.25 MB | ↑ +1.4 kB 3.25 MB – 3.28 MB | |
| Requests | 49 | → no change 49 – 50 | |
| Third-party Weight | 695 kB | ↑ +1.5 kB (+0.2%) 694 kB – 716 kB | |
| Third-party CPU | 90 ms | ↑ +34 ms (+61.1%) significant 56 ms – 111 ms | |
| Unused JS | 94.7 kB | ↓ -191 B (-0.2%) 92.1 kB – 94.9 kB | |
| Unused CSS | 14.7 kB | → no change 14.7 kB – 14.7 kB |
By resource type
| Type | Transfer | Share | Size | Requests |
|---|---|---|---|---|
| image | 77% | 2.51 MB | 16 | |
| font | 13.9% | 454 kB | 6 | |
| script | 7.2% | 234 kB | 13 | |
| other | 1% | 33.0 kB | 9 | |
| stylesheet | 0.5% | 16.5 kB | 3 | |
| document | 0.3% | 10.2 kB | 1 | |
| Total | 3.25 MB | 49 |
Third parties 6 entities
| Entity | Transfer | Size | Main thread Simulated |
|---|---|---|---|
| FontAwesome CDN | 312 kB | 12 ms | |
| Google Fonts | 178 kB | 0 ms | |
| Google Tag Manager | 164 kB | 59 ms | |
| Google CDN | 31.2 kB | 8 ms | |
| Cloudflare | 10.2 kB | 11 ms | |
| All 6 | 695 kB | 90 ms |
Page health
| Metric | Value | Change / range | Trend |
|---|---|---|---|
| Main Thread Work | 1.36 s | ↑ +162 ms (+13.5%) 1.20 s – 1.58 s | |
| Long Tasks | 3 | → no change 3 – 7 | |
| DOM Elements | 431 | → no change 431 – 431 | |
| Axe Violations Violating nodes from a full Axe CLI run (more than Lighthouse reports) | 52 | → no change 49 – 52 | |
| A11y Failures | 3 | → no change 3 – 3 | |
| A11y Failing Nodes | 41 | → no change 41 – 41 |
Main thread work
| Task | Time | Share | Duration Simulated |
|---|---|---|---|
| other | 42% | 567 ms | |
| script evaluation | 26% | 358 ms | |
| style layout | 17% | 227 ms | |
| script parse compile | 6% | 83 ms | |
| paint composite render | 6% | 82 ms | |
| parse HTML | 3% | 34 ms | |
| garbage collection | 1% | 10 ms | |
| Total | 1.36 s |
Axe violations axe-core 4.13.0, full rule set
52 violating nodes across 7 rules, 532 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 29 nodesOffending elements (5 of 29)
-
.hero-about > .subscribe-banner > form > label<label for="bd-email">Enter your email</label> -
.hero-about > .subscribe-banner > form > .button[type="submit"][value="Subscribe"]<input class="button" type="submit" value="Subscribe"> -
.banner-item > h1:nth-child(1)<h1 class="handwritten">featured Short Story !</h1> -
.banner-item > .tags > .tag:nth-child(2)<span class="tag" id="tag-fiction">#fiction</span> -
#banner-buttons > a[href$="projects/"]<a href="/projects/">More Projects!</a>
-
-
serious
link-name— Links must have discernible text 10 nodesOffending elements (5 of 10)
-
li:nth-child(1) > a[name="Twitter"][href$="thejuanlam"][target="_blank"]<a name="Twitter" href="https://twitter.com/thejuanlam" target="_blank" rel="me"><i class="fa fa-twitter" aria-hidden="true"></i></a> -
li:nth-child(2) > a[name="Mastodon"][target="_blank"][rel="me"]<a name="Mastodon" href="https://indieweb.social/@juanlam" target="_blank" rel="me"><i class="fa-brands fa-mastodon" aria-hidden="true"></i></a> -
li:nth-child(3) > a[name="LinkedIn"][target="_blank"][rel="me"]<a name="LinkedIn" href="https://www.linkedin.com/in/juan-lam-06a269161/" target="_blank" rel="me"><i class="fa fa-linkedin" aria-hidden="true"></i></a> -
li:nth-child(4) > a[name="YouTube"][target="_blank"][rel="me"]<a name="YouTube" href="https://www.youtube.com/channel/UCSdTYjoLwbcwmCRy_8f4a-A" target="_blank" rel="me"><i class="fa fa-youtube" aria-hidden="true"></i></a> -
li:nth-child(5) > a[name="Spotify"][target="_blank"][rel="me"]<a name="Spotify" href="https://open.spotify.com/show/0M0ykeJcItpmyT5c7jHHJd" target="_blank" rel="me"><i class="fa fa-spotify" aria-hidden="true"></i></a>
-
-
minor
image-redundant-alt— Alternative text of images should not be repeated as text 7 nodesOffending elements (5 of 7)
-
#menu-img-home<img id="menu-img-home" alt="Home"> -
#menu-img-about<img id="menu-img-about" alt="About"> -
#menu-img-search<img id="menu-img-search" alt="Search"> -
#menu-img-stories<img id="menu-img-stories" alt="Stories"> -
#menu-img-blog<img id="menu-img-blog" alt="Blog">
-
-
moderate
heading-order— Heading levels should only increase by one 2 nodesOffending elements
-
.story-card[href$="yuto's-radio/"] > .story-info > .story-info-top-bar > .story-title.p-name<h3 class="story-title p-name">Yuto's Radio</h3> -
.story-card[href$="the-alchemy-of-life/"] > .story-info > .story-info-top-bar > .story-title.p-name<h3 class="story-title p-name">The Alchemy of Life</h3>
-
-
moderate
region— All page content should be contained by landmarks 2 nodesOffending elements
-
.info-bar-link<a class="info-bar-link" href="/privacy">Privacy Policy</a> -
.sub-footer > p<p style="padding: 0; margin: 0;">Copyright© <span id="year">2026</span> Juan F. Lam</p>
-
-
minor
empty-heading— Headings should not be empty 1 nodeOffending element
-
.hero-card-level<h3 class="hero-card-level" id="hero-card-id"> </h3>
-
-
serious
scrollable-region-focusable— Scrollable region must have keyboard access 1 nodeOffending element
-
.index-memos-container<div class="index-memos-container">
-
Accessibility failures 3 of 21 audits
-
color-contrast— Background and foreground colors do not have a sufficient contrast ratio. 29 nodes -
link-name— Links do not have a discernible name 10 nodes -
heading-order— Heading elements are not in a sequentially-descending order 2 nodes
SEO failures 1 of 9 audits
-
link-text— Links do not have descriptive text 1 item
Hygiene
Measurement log
Every stored run for this URL, newest first.
| When | Scores | Perf | LCP | CLS | TBT | Weight | Runs | Spread | Bench | Took | Archive |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Oct 4, 2026, 4:32 AM UTC | 72 | 17.88 s | 0.068 | 129 ms | 3.25 MB | 3/3 | ±7 | 2,625 +6% | 26.9s |
|
|
| Sep 27, 2026, 12:19 AM UTC | 73 | 17.88 s | 0.068 | 34 ms | 3.25 MB | 3/3 | ±12 | 3,431 +38% | 25.2s |
|
|
| Sep 19, 2026, 10:11 PM UTC | 71 | 18.96 s | 0.068 | 116 ms | 3.26 MB | 3/3 | ±13 | 2,479 0% | 27.8s |
|
|
| Sep 12, 2026, 9:17 PM UTC | 63 | 18.42 s | 0.068 | 156 ms | 3.28 MB | 3/3 | ±8 | 2,472 -1% | 27.9s |
|
|
| Sep 5, 2026, 6:01 PM UTC | 62 | 18.37 s | 0.068 | 191 ms | 3.27 MB | 3/3 | ±13 | 2,433 -2% | 29.1s |
|
|
| Aug 29, 2026, 5:03 PM UTC | 70 | 18.23 s | 0.068 | 182 ms | 3.27 MB | 3/3 | ±8 | 2,417 -3% | 27.7s |
|
|
| Aug 21, 2026, 3:02 AM UTC | 67 | 18.05 s | 0.148 | 121 ms | 3.27 MB | 3/3 | ±6 | 2,492 0% | 28.2s |
|
Embed this score
Use this web component to show juanlam.com'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://juanlam.com/"></speedlify2-score>