speedlify2

Lighthouse lab metrics, Axe, and Chrome UX Report field data for a list of sites recorded and compared over time. Follow us on Mastodon or Bluesky.

Charts Compare Measurement runs Embed a score Open to Work

bruijn.me

https://bruijn.me/

68PERF 75A11Y 100BEST 92SEO ✗AXE –CWV

Ranks Overall #1,587 Built Awesome #1,050

Data from Oct 3, 2026, 1:48 AM UTC old Measured once a week · 7 runs since Aug 20, 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

Eleventy 2.0.1 Built with Eleventy 2.0.1
GitHub Pages Hosted by GitHub Pages

Lighthouse Scores LAB Simulated

68
Performance
↓ -2 (-2.9%)
75
Accessibility
no change
100
Best Practices
no change
92
SEO
no change

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 21.65 s poor ↑ +13 ms (+0.1%) 21.64 s – 21.68 s
INP CWV Interaction to Next Paint — field only, no lab run can measure it n/a —
CLS CWV (estimate) Cumulative Layout Shift 0.149 needs work ↑ +0.028 (+23.1%) significant 0.121 – 0.149
TBT Total Blocking Time 3 ms good ↓ -25 ms (-89.3%) significant 0 ms – 28 ms
FCP First Contentful Paint 1.55 s good ↑ +19 ms (+1.2%) 1.53 s – 1.57 s
Speed Index 2.76 s good ↑ +14 ms (+0.5%) 2.68 s – 2.86 s
TTFB Time to First Byte 476 ms good ↑ +7 ms (+1.5%) 469 ms – 490 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.

element render delay 98 ms
resource load duration 33 ms
time to first byte 32 ms
resource load delay 10 ms

Page weight

Metric Value Change / range Trend
Page Weight 3.89 MB ↓ -504 B 3.89 MB – 3.89 MB
Requests 16 → no change 16 – 18
Third-party Weight 13.6 kB ↓ -1 B 13.0 kB – 14.8 kB
Third-party CPU 7 ms ↑ +1 ms (+10.6%) 4 ms – 9 ms
Unused JS 39.3 kB → no change 39.3 kB – 39.3 kB
Unused CSS 0 B → no change 0 B – 0 B

By resource type

Type Transfer Share Size Requests
image 97.2% 3.78 MB 5
script 2.1% 83.1 kB 3
font 0.4% 17.4 kB 2
stylesheet 0.1% 5.1 kB 1
document 0.1% 3.4 kB 1
other <0.1% 1.1 kB 4
Total 3.89 MB 16

Third parties 2 entities

Entity Transfer Size Main thread Simulated
Cloudflare script 10.2 kB 5 ms
umami.is script 3.4 kB 2 ms
Total 13.6 kB 7 ms

Page health

Metric Value Change / range Trend
Main Thread Work 1.41 s ↓ -272 ms (-16.2%) 1.17 s – 1.68 s
Long Tasks 2 → no change 0 – 2
DOM Elements 127 → no change 127 – 127
Axe Violations Violating nodes from a full Axe CLI run (more than Lighthouse reports) 13 → no change 10 – 14
A11y Failures 4 → no change 4 – 4
A11y Failing Nodes 10 → no change 10 – 10

Main thread work

Task Time Share Duration Simulated
other 35% 498 ms
style layout 33% 470 ms
script evaluation 19% 274 ms
paint composite render 8% 110 ms
script parse compile 3% 36 ms
parse HTML 1% 14 ms
garbage collection 1% 7 ms
Total 1.41 s

Axe violations axe-core 4.13.0, full rule set

13 violating nodes across 5 rules, 242 passing. This is a standalone Axe CLI run and is stricter than the subset Lighthouse already includes.

  • critical aria-valid-attr — ARIA attributes must conform to valid names 4 nodes
    Offending elements
    1. .card[href$="about/"][data-mouse-target="data-mouse-target"] > .inner > .card-background[aria-role="presentation"]
      <img src="/media/about/voxel-pc-animated.webp" aria-role="presentation" class="card-background" style="">
    2. section:nth-child(4) > .cards[data-mouse-tracker=""] > .card[data-mouse-target="data-mouse-target"] > .inner > .card-background[aria-role="presentation"]
      <img src="/media/projects/timeline/timeline.jpg" aria-role="presentation" class="card-background" style="opacity: .8; object-position: bottom right; object-fit: contain;">
    3. a[href$="distillery+/"] > .inner > .card-background[aria-role="presentation"]
      <img src="/media/cases/distillery+/distillery+.png" aria-role="presentation" class="card-background" style="opacity: .3;">
    4. a[href$="ruwan.nl/"] > .inner > .card-background[aria-role="presentation"]
      <img src="/media/cases/ruwan.nl/ruwan.nl.png" aria-role="presentation" class="card-background" style="opacity: .6;">
  • critical image-alt — Images must have alternative text 4 nodes
    Offending elements
    1. .card[href$="about/"][data-mouse-target="data-mouse-target"] > .inner > .card-background[aria-role="presentation"]
      <img src="/media/about/voxel-pc-animated.webp" aria-role="presentation" class="card-background" style="">
    2. section:nth-child(4) > .cards[data-mouse-tracker=""] > .card[data-mouse-target="data-mouse-target"] > .inner > .card-background[aria-role="presentation"]
      <img src="/media/projects/timeline/timeline.jpg" aria-role="presentation" class="card-background" style="opacity: .8; object-position: bottom right; object-fit: contain;">
    3. a[href$="distillery+/"] > .inner > .card-background[aria-role="presentation"]
      <img src="/media/cases/distillery+/distillery+.png" aria-role="presentation" class="card-background" style="opacity: .3;">
    4. a[href$="ruwan.nl/"] > .inner > .card-background[aria-role="presentation"]
      <img src="/media/cases/ruwan.nl/ruwan.nl.png" aria-role="presentation" class="card-background" style="opacity: .6;">
  • serious color-contrast — Elements must meet minimum color contrast ratio thresholds 3 nodes
    Offending elements
    1. .section:nth-child(3) > .subtitle
      <p class="subtitle" style="translate: none; rotate: none; scale: none; transform: translate3d(0px, 5.7801px, 0px); opacity: 0.422;">
    2. .section:nth-child(3) > .subtitle > strong
      <strong style="translate: none; rotate: none; scale: none; transform: translate3d(0px, 6.8847px, 0px); opacity: 0.3115;">Interested in my work?</strong>
    3. .subtitle > a[href$="projects/"]
      <a href="/projects/" style="translate: none; rotate: none; scale: none; transform: translate3d(0px, 9.4986px, 0px); opacity: 0.0501;">personal projects</a>
  • critical button-name — Buttons must have discernible text 1 node
    Offending element
    1. #nav-toggle
      <button id="nav-toggle" style="translate: none; rotate: none; scale: none; transform: translate(0px, 0px); opacity: 1;"> <div class="line"></div> </button>
  • serious list — <ul> and <ol> must only directly contain <li>, <script> or <template> elements 1 node
    Offending element
    1. ul
      <ul>

Accessibility failures 4 of 20 audits

  • aria-valid-attr — `[aria-*]` attributes are not valid or misspelled 4 nodes
  • image-alt — Image elements do not have `[alt]` attributes 4 nodes
  • button-name — Buttons do not have an accessible name 1 node
  • list — Lists do not contain only `<li>` elements and script supporting elements (`<script>` and `<template>`). 1 node

SEO failures 1 of 9 audits

  • image-alt — Image elements do not have `[alt]` attributes 4 items

Hygiene

HTTPS HSTS CSP Clickjacking protection Origin isolation Trusted Types bfcache h3

Measurement log

Every stored run for this URL, newest first.

When Scores PerfLCPCLSTBTWeight RunsSpreadBenchTook Archive
Oct 3, 2026, 1:48 AM UTC 68 21.65 s 0.149 3 ms 3.89 MB 3/3 ±3 2,872 +16% 25.5s Wayback
Sep 25, 2026, 11:18 AM UTC 70 21.64 s 0.121 28 ms 3.89 MB 3/3 ±2 2,475 0% 25.1s Wayback
Sep 18, 2026, 8:51 AM UTC 70 21.65 s 0.121 8 ms 3.89 MB 3/3 ±4 2,654 +7% 26s Wayback
Sep 11, 2026, 8:41 AM UTC 70 21.65 s 0.121 16 ms 3.89 MB 3/3 ±0 2,576 +4% 27s Wayback
Sep 4, 2026, 5:40 AM UTC 70 21.65 s 0.121 6 ms 3.89 MB 3/3 ±3 2,819 +13% 25.5s Wayback
Aug 28, 2026, 1:20 AM UTC 68 21.64 s 0.149 18 ms 3.89 MB 3/3 ±3 2,494 0% 25.6s Wayback
Aug 20, 2026, 4:23 PM UTC 70 21.68 s 0.121 0 ms 3.89 MB 3/3 ±26 3,225 +30% 32s Wayback

Embed this score

Use this web component to show bruijn.me'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://bruijn.me/"></speedlify2-score>