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

Measurement runs

Every measurement pass, read from the NDJSON run log. When a number looks wrong, the first question is whether that run actually finished — this answers it without shell access to the build machine.

Recently measured 60 sites

Newest first, across the whole corpus. The dots are the four Lighthouse categories, then axe and Core Web Vitals, in the colors that run carried.

  1. frankfuchs.net
  2. ivoputzer.blog
  3. gaiety.life
  4. blog.fontawesome.com
  5. vite.dev
  6. sony.com
  7. react.dev
  8. preactjs.com
  9. jspm.org
  10. jquery.com
  11. emberjs.com
  12. jekyllrb.com
  13. sap.com
  14. firebase.google.com/products/hosting
  15. nvidia.com
  16. tesla.com
  17. jsr.io
  18. eslint.org
  19. samsung.com
  20. hex.pm
  21. docusaurus.io
  22. intel.com
  23. docs.gitlab.com/user/project/pages
  24. broadcom.com
  25. nejsconf.com
  26. google.com
  27. nordcraft.com
  28. vuepress.vuejs.org
  29. vitepress.dev
  30. svelte.dev
  31. render.com
  32. railway.com
  33. fossgaming.codeberg.page
  34. germanfrelo.dev
  35. fuzzylogic.me
  36. fullstax.de
  37. frontenso-11ty-starter.netlify.app
  38. frontendnorth.com
  39. freetransitedmonton.ca
  40. francisrub.io
  41. fotis.photos
  42. tsuwave.studio
  43. surge.sh
  44. gustavlindqvist.se
  45. gsap.com
  46. salesforce.com
  47. surajwate.com
  48. flag.is
  49. pypi.org
  50. kiri-vadivelu.ca
  51. fifty.snook.ca
  52. tailwind.buildawesome.one
  53. zapparov.dev
  54. fberriman.com/blog
  55. starter.buildawesome.one
  56. tampamonitor.com
  57. pico-blades.buildawesome.one
  58. exyon.ee
  59. paulmakeswebsites.com
  60. buildawesome.one

The measuring machines Lighthouse benchmark index

Recorded once per measurement, from the run whose numbers were kept. Higher is faster.

Median
2,486
±35% Median
1,616–3,356
Mean
2,653
Range
838–4,588

From 12,747 measurements. The mean sits above the median because a few unusually fast machines pull it there; most runs land close together. A site is told “the measuring machine was faster than most in this project” when its run lands outside that band. That is a distance rather than a percentile because the notice claims the CPU-bound numbers moved, and how far off the machine was decides that; how rare it was does not. These machines vary by running fast rather than slow, so in practice the notice is a fast-machine one.

Started Duration Measured Skipped Failed Warnings Form factor Log file
Oct 8, 2026, 2:33 AM UTC 962.7s 1 464 11 34 mobile logs/2026-10-08T02-33-06-865Z.ndjson
Oct 8, 2026, 2:33 AM UTC 516.2s 3 443 15 49 mobile logs/2026-10-08T02-33-05-299Z.ndjson
Oct 8, 2026, 2:33 AM UTC 135.5s 1 448 5 16 mobile logs/2026-10-08T02-33-00-841Z.ndjson
Oct 8, 2026, 2:33 AM UTC 57.4s 0 440 3 9 mobile logs/2026-10-08T02-33-03-867Z.ndjson
Oct 8, 2026, 2:33 AM UTC 0.5s 0 0 0 1 — logs/backfill-2026-10-08T02-33-00-466Z.ndjson
Oct 7, 2026, 10:46 PM UTC 1271.6s 6 442 7 25 mobile logs/2026-10-07T22-46-27-729Z.ndjson
Oct 7, 2026, 10:46 PM UTC 954.8s 3 437 16 49 mobile logs/2026-10-07T22-46-25-324Z.ndjson
Oct 7, 2026, 10:46 PM UTC 700.4s 11 454 2 10 mobile logs/2026-10-07T22-46-29-850Z.ndjson
Oct 7, 2026, 10:46 PM UTC 395.8s 1 443 12 36 mobile logs/2026-10-07T22-46-22-796Z.ndjson
Oct 7, 2026, 10:46 PM UTC 0s 0 0 0 0 — logs/backfill-2026-10-07T22-46-28-439Z.ndjson
Oct 7, 2026, 5:17 PM UTC 1557.6s 7 458 8 28 mobile logs/2026-10-07T17-17-09-880Z.ndjson
Oct 7, 2026, 5:17 PM UTC 702.3s 8 436 12 36 mobile logs/2026-10-07T17-17-10-664Z.ndjson
Oct 7, 2026, 5:17 PM UTC 516.4s 1 439 10 31 mobile logs/2026-10-07T17-17-12-085Z.ndjson
Oct 7, 2026, 5:17 PM UTC 156.4s 0 448 7 21 mobile logs/2026-10-07T17-17-10-878Z.ndjson
Oct 7, 2026, 5:17 PM UTC 0s 0 0 0 0 — logs/backfill-2026-10-07T17-17-12-778Z.ndjson
Oct 7, 2026, 9:52 AM UTC 1213.4s 4 455 16 49 mobile logs/2026-10-07T09-52-16-047Z.ndjson
Oct 7, 2026, 9:52 AM UTC 919.9s 10 434 8 27 mobile logs/2026-10-07T09-52-12-346Z.ndjson
Oct 7, 2026, 9:52 AM UTC 292.5s 2 446 7 21 mobile logs/2026-10-07T09-52-18-245Z.ndjson
Oct 7, 2026, 9:52 AM UTC 267.7s 4 436 3 9 mobile logs/2026-10-07T09-52-11-933Z.ndjson
Oct 7, 2026, 9:52 AM UTC 16.2s 36 0 0 0 — logs/backfill-2026-10-07T09-52-10-503Z.ndjson
Oct 7, 2026, 2:07 AM UTC 2252.7s 14 445 5 20 mobile logs/2026-10-07T02-07-16-533Z.ndjson
Oct 7, 2026, 2:07 AM UTC 1100.3s 15 426 5 18 mobile logs/2026-10-07T02-07-14-280Z.ndjson
Oct 7, 2026, 2:07 AM UTC 471.9s 2 446 0 1 mobile logs/2026-10-07T02-07-10-154Z.ndjson
Oct 7, 2026, 2:07 AM UTC 412.8s 4 435 3 9 mobile logs/2026-10-07T02-07-09-057Z.ndjson
Oct 7, 2026, 2:07 AM UTC 0s 0 0 0 0 — logs/backfill-2026-10-07T02-07-08-563Z.ndjson
Oct 6, 2026, 10:54 PM UTC 1695.8s 16 419 4 16 mobile logs/2026-10-06T22-54-02-809Z.ndjson
Oct 6, 2026, 10:54 PM UTC 1501.5s 6 440 14 49 mobile logs/2026-10-06T22-54-11-849Z.ndjson
Oct 6, 2026, 10:54 PM UTC 1076.7s 6 441 8 27 mobile logs/2026-10-06T22-54-06-341Z.ndjson
Oct 6, 2026, 10:54 PM UTC 973.2s 11 416 9 29 mobile logs/2026-10-06T22-54-03-272Z.ndjson
Oct 6, 2026, 10:54 PM UTC 0s 0 0 0 0 — logs/backfill-2026-10-06T22-54-16-987Z.ndjson
Oct 6, 2026, 6:47 PM UTC 2062.9s 14 429 6 24 mobile logs/2026-10-06T18-47-20-366Z.ndjson
Oct 6, 2026, 6:47 PM UTC 836.5s 18 428 2 6 mobile logs/2026-10-06T18-47-25-341Z.ndjson
Oct 6, 2026, 6:47 PM UTC 778.9s 5 412 15 45 mobile logs/2026-10-06T18-47-16-896Z.ndjson
Oct 6, 2026, 6:47 PM UTC 766.3s 6 414 14 44 mobile logs/2026-10-06T18-47-16-106Z.ndjson
Oct 6, 2026, 6:47 PM UTC 0s 0 0 0 0 — logs/backfill-2026-10-06T18-47-19-421Z.ndjson
Oct 6, 2026, 12:48 PM UTC 2561.8s 10 405 10 36 mobile logs/2026-10-06T12-48-53-058Z.ndjson
Oct 6, 2026, 12:48 PM UTC 760.7s 12 417 8 27 mobile logs/2026-10-06T12-48-47-741Z.ndjson
Oct 6, 2026, 12:48 PM UTC 745.7s 0 413 20 61 mobile logs/2026-10-06T12-48-53-260Z.ndjson
Oct 6, 2026, 12:48 PM UTC 557.8s 18 430 2 6 mobile logs/2026-10-06T12-48-53-426Z.ndjson
Oct 6, 2026, 12:48 PM UTC 0s 0 0 0 0 — logs/backfill-2026-10-06T12-48-51-721Z.ndjson
Oct 6, 2026, 5:03 AM UTC 1911.5s 10 438 10 32 mobile logs/2026-10-06T05-03-16-105Z.ndjson
Oct 6, 2026, 5:03 AM UTC 998.5s 20 406 0 1 mobile logs/2026-10-06T05-03-22-082Z.ndjson
Oct 6, 2026, 5:03 AM UTC 823s 16 407 4 17 mobile logs/2026-10-06T05-03-12-077Z.ndjson
Oct 6, 2026, 5:03 AM UTC 632.2s 20 386 0 1 mobile logs/2026-10-06T05-03-15-276Z.ndjson
Oct 6, 2026, 5:03 AM UTC 0s 0 0 0 0 — logs/backfill-2026-10-06T05-03-12-649Z.ndjson
Oct 5, 2026, 11:50 PM UTC 692.6s 20 380 0 0 mobile logs/2026-10-05T23-50-06-786Z.ndjson
Oct 5, 2026, 11:50 PM UTC 675.6s 20 397 0 0 mobile logs/2026-10-05T23-50-12-395Z.ndjson
Oct 5, 2026, 11:50 PM UTC 574.4s 20 399 0 0 mobile logs/2026-10-05T23-50-06-739Z.ndjson
Oct 5, 2026, 11:50 PM UTC 561.7s 20 426 0 0 mobile logs/2026-10-05T23-50-02-063Z.ndjson
Oct 5, 2026, 11:50 PM UTC 0s 0 0 0 0 — logs/backfill-2026-10-05T23-50-13-459Z.ndjson

Reading the logs

Each run writes a full NDJSON log to logs/<runId>.ndjson, one JSON object per line, plus a summary line appended to logs/runs.ndjson. Both are greppable:

# Every warning and error across all runs
grep -h '"level":"warn"\|"level":"error"' logs/*.ndjson | jq .

# What happened to one site in one run
jq 'select(.data.url == "https://example.com/")' logs/2026-01-01*.ndjson

# Run history at a glance
npx speedlify runs