Performance and accessibility audit (Lighthouse)
Measured 2026-10-05 against the live site https://b3tl.loca.zone (D-322d T-39 and T-40, CHECKLIST 7.1 and 7.2).
- Tool: Lighthouse 13.5.0 with headless Chromium 151.0.0.0, the default
mobileprofile andsimulatethrottling. - Routes: Home
/, Playlists/playlists, Settings/settingsand Analytics/analytics. Beetle has no separate player route: the player bar is part of the layout on every audited route. - One run per route, so scores can move a few points between runs.
- Re-run one route:
npx lighthouse@<version> https://b3tl.loca.zone/playlists --only-categories=performance,accessibility,best-practices --output=json --chrome-flags="--headless=new".
Scores
| Route | Performance | Accessibility | Best practices | FCP | LCP | TBT | CLS | Speed index |
|---|---|---|---|---|---|---|---|---|
Home / | 59 | 100 | 100 | 1.7 s | 3.0 s | 7,560 ms | 0.003 | 5.7 s |
Playlists /playlists | 37 | 100 | 100 | 1.7 s | 3.6 s | 3,010 ms | 0.595 | 3.5 s |
Settings /settings | 61 | 100 | 100 | 1.3 s | 3.5 s | 2,380 ms | 0 | 3.9 s |
Analytics /analytics | 66 | 100 | 100 | 2.4 s | 2.7 s | 1,620 ms | 0 | 3.2 s |
Asset loading review (CHECKLIST 7.2)
Lighthouse asset audits per route, scored out of 100 (90 or more passes). Render-blocking shows the earlier run (before T-55) → this run.
| Route | Render-blocking | Caching | Document latency | Fonts | Images | Unused JS | Unused CSS | Legacy JS | Duplicated JS | Byte weight |
|---|---|---|---|---|---|---|---|---|---|---|
Home / | 50 → 0 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
Playlists /playlists | 50 → 50 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
Settings /settings | 100 → 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
Analytics /analytics | 50 → 50 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
- Home render-blocking resources:
0.DObPAwY7.css(26194 B),StarRating.BOn_jhNY.css(335 B). - Playlists render-blocking resources:
StarRating.BOn_jhNY.css(335 B),0.DObPAwY7.css(26194 B). - Analytics render-blocking resources:
3.eD5b1AjY.css(266 B),StarRating.BOn_jhNY.css(335 B),0.DObPAwY7.css(26194 B). - Render-blocking CSS is the one partial result. Removing it means inlining the app CSS into every server-rendered response (
kit.inlineStyleThreshold), which gives up CSS caching for full page loads. D-322d tried that (3233a0d) and reverted it (eb1cd1a): the trade-off is the owner’s call, and the timing-sensitive playback smoke ran slower with it on the overloaded host. - Not an asset problem: Lighthouse attributes most main-thread time on
/tohttps://b3tl.loca.zone/(9,514 ms total, 306 ms scripting), which is rendering the server-rendered first page rather than loading assets.
Audits scoring below 90
Scored audits only (informative, manual and not-applicable audits are left out), lowest first.
Home /
total-blocking-timeTotal Blocking Time: 7,560 ms (score 0)max-potential-fidMax Potential First Input Delay: 1,560 ms (score 0)mainthread-work-breakdownMinimize main-thread work: 15.6 s (score 0)bootup-timeReduce JavaScript execution time: 2.7 s (score 0)forced-reflow-insightForced reflow (score 0)network-dependency-tree-insightNetwork dependency tree (score 0)render-blocking-insightRender-blocking requests: Est savings of 210 ms (score 0)interactiveTime to Interactive: 10.6 s (score 23)speed-indexSpeed Index: 5.7 s (score 50)largest-contentful-paintLargest Contentful Paint: 3.0 s (score 78)
Playlists /playlists
max-potential-fidMax Potential First Input Delay: 910 ms (score 0)mainthread-work-breakdownMinimize main-thread work: 8.3 s (score 0)bootup-timeReduce JavaScript execution time: 2.0 s (score 0)layout-shiftsAvoid large layout shifts: 1 layout shift found (score 0)cls-culprits-insightLayout shift culprits (score 0)forced-reflow-insightForced reflow (score 0)lcp-breakdown-insightLCP breakdown (score 0)network-dependency-tree-insightNetwork dependency tree (score 0)total-blocking-timeTotal Blocking Time: 3,010 ms (score 2)cumulative-layout-shiftCumulative Layout Shift: 0.595 (score 11)render-blocking-insightRender-blocking requests (score 50)largest-contentful-paintLargest Contentful Paint: 3.6 s (score 62)interactiveTime to Interactive: 5.5 s (score 70)speed-indexSpeed Index: 3.5 s (score 88)
Settings /settings
max-potential-fidMax Potential First Input Delay: 1,600 ms (score 0)mainthread-work-breakdownMinimize main-thread work: 6.2 s (score 0)bootup-timeReduce JavaScript execution time: 1.6 s (score 0)forced-reflow-insightForced reflow (score 0)network-dependency-tree-insightNetwork dependency tree (score 0)total-blocking-timeTotal Blocking Time: 2,380 ms (score 5)largest-contentful-paintLargest Contentful Paint: 3.5 s (score 64)speed-indexSpeed Index: 3.9 s (score 82)interactiveTime to Interactive: 4.2 s (score 86)
Analytics /analytics
max-potential-fidMax Potential First Input Delay: 1,220 ms (score 0)mainthread-work-breakdownMinimize main-thread work: 6.3 s (score 0)bootup-timeReduce JavaScript execution time: 1.7 s (score 0)network-dependency-tree-insightNetwork dependency tree (score 0)total-blocking-timeTotal Blocking Time: 1,620 ms (score 12)render-blocking-insightRender-blocking requests (score 50)first-contentful-paintFirst Contentful Paint: 2.4 s (score 71)interactiveTime to Interactive: 4.6 s (score 81)largest-contentful-paintLargest Contentful Paint: 2.7 s (score 85)