vlt.io
Ranks Overall #1,758 Developer Tooling #90
Data from Oct 9, 2026, 2:57 AM UTC old, older than this category's 3 days freshness target Measured every 2 days · 22 runs since Aug 27, 2026
Elsewhere:
PageSpeed Insights ·
Calibre ·
Treo ·
CrUX Vis ·
Tame the Bots ·
Scoring Calculator ·
Wayback Machine
Sites are measured on a rolling schedule, so figures here are the newest successful measurement rather than a reading taken just now. Comparisons against other sites may span different points in time.
Lab data is measured using Lighthouse, Mobile mode unless otherwise specified. Field data is reported from Chrome UX Report (using p75 measurements).
Stack
Filmstrip LAB Throttled
How the page drew during the measured load, at 8 points across 22.07 s. Compare this filmstrip against another site.
-
2.76 s
-
2.84 s
-
8.28 s
-
11.04 s
-
13.79 s
-
16.55 s
-
19.31 s
-
22.07 s
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 | 14.53 s poor | ↑ +1314 ms (+9.9%) 9.39 s – 25.22 s | |
| INP CWV Interaction to Next Paint — field only, no lab run can measure it | n/a | — | |
| CLS CWV (estimate) Cumulative Layout Shift | 0.001 good | → no change 0.001 – 0.006 | |
| TBT Total Blocking Time | 3.09 s poor | ↑ +1164 ms (+60.5%) significant 1.22 s – 4.16 s | |
| FCP First Contentful Paint | 1.85 s needs work | ↓ -209 ms (-10.1%) 1.74 s – 11.67 s | |
| Speed Index | 6.48 s poor | ↓ -297 ms (-4.4%) 6.01 s – 11.67 s | |
| TTFB Time to First Byte | 646 ms good | ↑ +20 ms (+3.2%) 609 ms – 663 ms | |
LCP Subparts LAB Throttled
The subparts attribute LCP to your server, resource discovery, download, or rendering. They come from one throttled load, the same one as the filmstrip, so they add up to that load’s LCP rather than the simulated Lab LCP above.
Page weight
| Metric | Value | Change / range | Trend |
|---|---|---|---|
| Page Weight | 13.01 MB | ↑ +25.2 kB (+0.2%) 12.89 MB – 13.13 MB | |
| Requests | 128 | ↑ +2 (+1.6%) 113 – 128 | |
| Third-party Weight | 8.55 MB | ↑ +10.3 kB (+0.1%) 8.53 MB – 8.55 MB | |
| Third-party CPU | 211 ms | ↑ +45 ms (+27.3%) 104 ms – 330 ms | |
| Unused JS | 767 kB | ↑ +1.5 kB (+0.2%) 711 kB – 789 kB | |
| Unused CSS | 12.1 kB | → no change 12.1 kB – 12.1 kB |
By resource type
| Type | Transfer | Share | Size | Requests |
|---|---|---|---|---|
| media | 62.9% | 8.18 MB | 1 | |
| script | 19.8% | 2.58 MB | 62 | |
| image | 13.7% | 1.79 MB | 19 | |
| font | 1.3% | 174 kB | 5 | |
| stylesheet | 0.9% | 122 kB | 5 | |
| document | 0.8% | 106 kB | 3 | |
| other | 0.4% | 57.8 kB | 29 | |
| Total | 13.01 MB | 128 |
Third parties 4 entities
| Entity | Transfer | Size | Main thread Simulated |
|---|---|---|---|
| Amazon Web Services | 8.18 MB | 0 ms | |
| Intercom | 298 kB | 193 ms | |
| YouTube | 67.2 kB | 18 ms | |
| Sentry | 337 B | 0 ms | |
| Total | 8.55 MB | 211 ms |
Without JavaScript
The same load, photographed twice at 412×823: once with scripts disabled, once as rendered.
96.6% of pixels differ — they have almost nothing in common. A shifted layout counts as difference, so a <noscript> banner alone can account for a large figure.
Page health
| Metric | Value | Change / range | Trend |
|---|---|---|---|
| Main Thread Work | 11.66 s | ↑ +2174 ms (+22.9%) significant 7.83 s – 11.90 s | |
| Long Tasks | 20 | → no change 20 – 20 | |
| DOM Elements | 1,716 | → no change 1,652 – 1,716 | |
| Axe Violations Violating nodes from a full Axe CLI run (more than Lighthouse reports) | 18 | → no change 17 – 18 | |
| A11y Failures | 5 | → no change 5 – 6 | |
| A11y Failing Nodes | 11 | → no change 11 – 13 |
Main thread work
| Task | Time | Share | Duration Simulated |
|---|---|---|---|
| script evaluation | 53% | 6.22 s | |
| other | 24% | 2.77 s | |
| style layout | 12% | 1.40 s | |
| script parse compile | 6% | 711 ms | |
| paint composite render | 2% | 237 ms | |
| parse HTML | 2% | 232 ms | |
| garbage collection | 1% | 87 ms | |
| Total | 11.66 s |
Axe violations axe-core 4.13.0, full rule set
18 violating nodes across 8 rules, 1538 passing. This is a standalone Axe CLI run and is stricter than the subset Lighthouse already includes.
-
serious
link-name— Links must have discernible text 5 nodesOffending elements
-
.group\/item:nth-child(1) > .group-hover\/item\:text-foreground.duration-125[href$="vltpkg"]<a class="group-hover/item:text-foreground text-muted-foreground text-sm transition-colors duration-125" href="https://github.com/vltpkg"> -
.order-1 > ul > .group\/item:nth-child(2) > .group-hover\/item\:text-foreground.duration-125.transition-colors<a class="group-hover/item:text-foreground text-muted-foreground text-sm transition-colors duration-125" href="https://www.linkedin.com/company/vltpkg/"> -
.group\/item:nth-child(3) > .group-hover\/item\:text-foreground.duration-125[href$="vltpkg"]<a class="group-hover/item:text-foreground text-muted-foreground text-sm transition-colors duration-125" href="https://x.com/vltpkg"> -
.order-1 > ul > .group\/item:nth-child(4) > .group-hover\/item\:text-foreground.duration-125.transition-colors<a class="group-hover/item:text-foreground text-muted-foreground text-sm transition-colors duration-125" href="https://bsky.app/profile/vlt.sh"> -
a[href$="qdbXTqxZzZ"]<a class="group-hover/item:text-foreground text-muted-foreground text-sm transition-colors duration-125" href="https://discord.gg/qdbXTqxZzZ">
-
-
serious
scrollable-region-focusable— Scrollable region must have keyboard access 4 nodesOffending elements
-
.lg\:ring-background > .bg-background.rounded-sm[data-slot="terminal"] > .overflow-x-auto.gap-\[0\.5ch\].p-4<div data-slot="content" class="flex w-full flex-col gap-[0.5ch] overflow-x-auto p-4"> -
.gap-4.flex-col.flex:nth-child(1) > .lg\:aspect-video.shadow-lg.dark\:bg-card > .lg\:min-h-0.lg\:flex-1[data-slot="terminal"] > .lg\:h-full.lg\:overflow-y-auto.overflow-x-auto<div data-slot="content" class="flex w-full flex-col gap-[0.5ch] overflow-x-auto p-4 lg:h-full lg:overflow-y-auto"> -
.gap-4.flex-col.flex:nth-child(2) > .lg\:aspect-video.shadow-lg.dark\:bg-card > .lg\:min-h-0.lg\:flex-1[data-slot="terminal"] > .lg\:h-full.lg\:overflow-y-auto.overflow-x-auto<div data-slot="content" class="flex w-full flex-col gap-[0.5ch] overflow-x-auto p-4 lg:h-full lg:overflow-y-auto"> -
.gap-4.cursor-default[data-active="false"]:nth-child(4) > .aspect-video.shadow-lg.dark\:bg-card > .min-h-0.bg-background[data-slot="terminal"] > .overflow-auto.min-h-0.gap-\[0\.5ch\]<div data-slot="content" class="flex w-full flex-col gap-[0.5ch] p-4 min-h-0 flex-1 overflow-auto">
-
-
critical
image-alt— Images must have alternative text 3 nodesOffending elements
-
img[src$="luke.png"]<img data-slot="avatar-image" class="aspect-square size-full" src="/images/avatars/luke.png"> -
img[src$="jason.png"]<img data-slot="avatar-image" class="aspect-square size-full" src="/images/avatars/jason.png"> -
img[src$="ruy.png"]<img data-slot="avatar-image" class="aspect-square size-full" src="/images/avatars/ruy.png">
-
-
critical
button-name— Buttons must have discernible text 2 nodesOffending elements
-
#vjs_video_3_youtube_api >>> .ytmVideoInfoChannelAvatar<button class="ytmVideoInfoLink ytmVideoInfoChannelAvatar"><img class="ytCoreImageHost ytmVideoInfoChannelLogo ytCoreImageFillParentHeight ytCoreImageFillParentWidth ytCoreImageContentModeScaleAspect… -
.size-9<button data-slot="tooltip-trigger" data-variant="outline" data-size="icon" class="focus-visible:border..." data-state="closed">
-
-
critical
aria-allowed-attr— Elements must only use supported ARIA attributes 1 nodeOffending element
-
#vjs_video_3_youtube_api >>> .ytmVideoInfoVideoTitle<a class="ytmVideoInfoVideoTitle" aria-level="2" href="https://www.youtube.com/watch?v=2IxxSf5lcu4"><span class="ytAttributedStringHost ytmVideoInfoLink ytAttributedStringWhiteSpaceNoWrap" style="">I…
-
-
serious
aria-input-field-name— ARIA input fields must have an accessible name 1 nodeOffending element
-
.border-ring<span role="slider" aria-valuemin="0" aria-valuemax="1000" aria-orientation="horizontal" data-orientation="horizontal" tabindex="0" data-slot="slider-thumb" class="border-ring ring-rin..." style="" d…
-
-
serious
aria-prohibited-attr— Elements must only use permitted ARIA attributes 1 nodeOffending element
-
#vjs_video_3_youtube_api >>> #movie_player<div class="html5-video-player ytp-hide-controls ytp-exp-bottom-control-flexbox ytp-modern-caption ytp-livebadge-color unstarted-mode ytp-small-mode" tabindex="" id="movie_player" data-version="/s/pl…
-
-
moderate
region— All page content should be contained by landmarks 1 nodeOffending element
-
.z-50.py-2.justify-center > .\[\&\>svg\]\:pointer-events-none.\[\&\>svg\]\:size-3.\[a\&\]\:hover\:bg-accent > span<span>How we made registry metadata 70% smaller</span>
-
Accessibility failures 5 of 31 audits
-
link-name— Links do not have a discernible name 5 nodes -
image-alt— Image elements do not have `[alt]` attributes 3 nodes -
aria-input-field-name— ARIA input fields do not have accessible names 1 node -
button-name— Buttons do not have an accessible name 1 node -
label-content-name-mismatch— Elements with visible text labels do not have matching accessible names. 1 node
Best Practices failures 3 of 17 audits
-
image-aspect-ratio— Displays images with incorrect aspect ratio 4 items -
inspector-issues— Issues were logged in the `Issues` panel in Chrome Devtools 1 item -
valid-source-maps— Missing source maps for large first-party JavaScript 1 item
SEO failures 2 of 9 audits
-
link-text— Links do not have descriptive text 5 items -
image-alt— Image elements do not have `[alt]` attributes 3 items
Hygiene
Measurement log
Field history 25 weeks
Weekly p75 from the CrUX History API, backfilled in a single request.
| Week ending | LCP | INP | CLS | FCP | TTFB |
|---|---|---|---|---|---|
| 2026-09-12 → 2026-10-03 | No data — 4 weeks under the CrUX reporting threshold | ||||
| 2026-09-05 | 3.90 s | — | 0.060 | 2.67 s | 969 ms |
| 2026-08-29 | 3.26 s | 211 ms | 0.080 | 2.49 s | 861 ms |
| 2026-08-22 | 3.26 s | 211 ms | 0.080 | 2.56 s | 872 ms |
| 2026-08-15 | 3.08 s | 179 ms | 0.080 | 2.57 s | 858 ms |
| 2026-08-08 | 2.83 s | 141 ms | 0.080 | 2.44 s | 835 ms |
| 2026-08-01 | No data — 1 week under the CrUX reporting threshold | ||||
| 2026-07-25 | 3.80 s | — | 0.060 | 3.67 s | 1.59 s |
| 2026-07-18 | 3.34 s | — | 0.030 | 3.33 s | 1.38 s |
| 2026-07-11 | 3.33 s | — | 0.020 | 3.20 s | 1.34 s |
| 2026-07-04 | 3.33 s | — | 0.020 | 3.06 s | 1.31 s |
| 2026-06-13 → 2026-06-27 | No data — 3 weeks under the CrUX reporting threshold | ||||
Runs
Every stored run for this URL, newest first.
| When | Scores | Perf | LCP | CLS | TBT | Weight | Runs | Spread | Bench | Took | Archive |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Oct 9, 2026, 2:57 AM UTC | 38 | 14.53 s | 0.001 | 3.09 s | 13.01 MB | 3/3 | ±4 | 2,612 +5% | 160.2s |
|
|
| Oct 6, 2026, 10:57 PM UTC | 39 | 13.22 s | 0.001 | 1.92 s | 12.98 MB | 3/3 | ±6 | 2,836 +14% | 181.3s |
|
|
| Oct 3, 2026, 9:01 PM UTC | 39 | 10.20 s | 0.001 | 1.96 s | 12.94 MB | 3/3 | ±2 | 2,710 +9% | 196.7s |
|
|
| Oct 1, 2026, 2:15 PM UTC | 38 | 10.15 s | 0.001 | 2.43 s | 12.95 MB | 3/3 | ±4 | 2,480 0% | 154.5s |
|
|
| Sep 29, 2026, 11:14 AM UTC | 38 | 15.54 s | 0.001 | 2.85 s | 12.96 MB | 3/3 | ±2 | 2,470 -1% | 154.1s |
|
|
| Sep 26, 2026, 9:16 AM UTC | 31 | 25.22 s | 0.001 | 1.22 s | 12.97 MB | 3/3 | ±9 | 2,996 +20% | 153.2s |
|
|
| Sep 23, 2026, 10:45 PM UTC | 38 | 10.96 s | 0.001 | 2.37 s | 13.13 MB | 3/3 | ±5 | 2,483 0% | 322.4s |
|
|
| Sep 21, 2026, 8:03 PM UTC | 38 | 10.81 s | 0.001 | 2.66 s | 13.13 MB | 3/3 | ±12 | 2,503 +1% | 314.9s |
|
|
| Sep 21, 2026, 7:48 AM UTC | TRACING_ALREADY_STARTED: An internal Chrome error occurred. Please restart Chrome and try re-running Lighthouse. |
104.6s | |||||||||
| Sep 18, 2026, 8:37 PM UTC | 39 | 16.64 s | 0.001 | 2.76 s | 13.13 MB | 3/3 | ±13 | 2,683 +8% | 370.5s |
|
|
| Sep 16, 2026, 6:40 PM UTC | 37 | 10.83 s | 0.001 | 2.59 s | 13.13 MB | 3/3 | ±2 | 2,494 0% | 314.6s |
|
|
| Sep 14, 2026, 5:52 PM UTC | 38 | 16.07 s | 0.001 | 2.97 s | 12.92 MB | 3/3 | ±4 | 2,582 +4% | 199.4s |
|
|
| Sep 12, 2026, 6:58 AM UTC | 37 | 11.04 s | 0.001 | 2.47 s | 12.93 MB | 3/3 | ±12 | 2,456 -1% | 131.8s |
|
|
| Sep 10, 2026, 5:42 AM UTC | 38 | 10.96 s | 0.001 | 2.28 s | 12.93 MB | 3/3 | ±2 | 2,468 -1% | 74.5s |
|
|
| Sep 8, 2026, 12:59 AM UTC | 36 | 13.88 s | 0.006 | 3.17 s | 12.92 MB | 3/3 | ±2 | 2,464 -1% | 76s |
|
|
| Sep 6, 2026, 12:41 AM UTC | 36 | 15.63 s | 0.001 | 2.03 s | 12.90 MB | 3/3 | ±0 | 3,197 +29% | 75s |
|
|
| Sep 4, 2026, 6:16 PM UTC | 36 | 11.26 s | 0.001 | 3.07 s | 12.91 MB | 3/3 | ±1 | 2,399 -4% | 88.5s |
|
|
| Sep 3, 2026, 11:58 AM UTC | 36 | 13.66 s | 0.001 | 2.49 s | 12.90 MB | 3/3 | ±7 | 3,311 +33% | 79.8s |
|
|
| Sep 3, 2026, 1:10 AM UTC | TRACING_ALREADY_STARTED: An internal Chrome error occurred. Please restart Chrome and try re-running Lighthouse. |
63.3s | |||||||||
| Sep 1, 2026, 11:06 PM UTC | 32 | 12.67 s | 0.001 | 2.67 s | 12.90 MB | 3/3 | ±2 | 2,382 -4% | 81.9s |
|
|
| Aug 31, 2026, 9:23 PM UTC | 34 | 9.39 s | 0.003 | 3.15 s | 12.90 MB | 3/3 | ±2 | 2,471 -1% | 86.3s |
|
|
| Aug 27, 2026, 6:59 PM UTC | 34 | 12.57 s | 0.003 | 4.16 s | 12.89 MB | 3/3 | ±3 | 2,469 -1% | 89.4s |
|
|