Performance
· 14 checks — Lighthouse + waterfall + sustainability rolled into one auditable list.Performance-focused optimization plan with CWV assessment, top offenders, and time estimates
First Contentful Paint First Contentful Paint — how long until the browser renders the first piece of content. Under 1.8s is good.
3.79 s
Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.
7.14 s
Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.
573 ms
Cumulative Layout Shift Cumulative Layout Shift — measures visual stability. How much the page layout shifts during loading. Under 0.1 is good.
0.000
Speed Index Speed Index — how quickly content is visually displayed during load. Under 3.4s is good.
5.41 s
Time to Interactive Time to Interactive — how long until the page is fully interactive and responds to user input. Under 3.8s is good.
7.23 s
Page Load Progression
DThird-Party ImpactAction100% third-party, 0 ms blockingFIX
FJS Execution CostAction4427ms total JS executionFIX
Main Thread Breakdown
| Script | Total | Scripting | Parse/Compile | Party |
|---|---|---|---|---|
| https://turborepo.dev/_next/static/chunks/18bubx_dzn8wd.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 1057ms | 830ms | 55ms | 3rd |
| https://turborepo.dev/ | 817ms | 25ms | 33ms | 3rd |
| https://turborepo.dev/_next/static/chunks/0zhvh253il8cl.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 722ms | 716ms | 5ms | 3rd |
| https://turborepo.dev/_next/static/chunks/0grf_cr1gt3-0.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 656ms | 225ms | 15ms | 3rd |
| https://turborepo.dev/_next/static/chunks/17mu01cho.7j6.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 356ms | 334ms | 5ms | 3rd |
| Unattributable | 352ms | 17ms | 0ms | 3rd |
| https://turborepo.dev/_next/static/chunks/0u9800iq0j6k4.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 163ms | 48ms | 88ms | 3rd |
| https://turborepo.dev/_next/static/chunks/0jpsxqebiafav.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 134ms | 82ms | 32ms | 3rd |
| https://turborepo.dev/_next/static/chunks/0laj74pxovg~a.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 117ms | 116ms | 1ms | 3rd |
| https://turborepo.dev/_next/static/chunks/06v~4zbsc~-e0.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 53ms | 1ms | 52ms | 3rd |
DJS BundlesAction38 scripts, 315 KB unusedFIX
Downloaded but never executed on this page.
| Script | Size | Unused | Minified | Party |
|---|---|---|---|---|
| https://turborepo.dev/_next/static/chunks/0u9800iq0j6k4.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 176 KB | 125 KB (73%) | ✓ | 3rd |
| https://turborepo.dev/_next/static/chunks/06v~4zbsc~-e0.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 120 KB | 94 KB (80%) | ✓ | 3rd |
| https://turborepo.dev/_next/static/chunks/0paypp_ypnc3m.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 45 KB | 45 KB (100%) | ✓ | 3rd |
| https://turborepo.dev/_next/static/chunks/0grf_cr1gt3-0.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 40 KB | 28 KB (71%) | ✓ | 3rd |
| https://turborepo.dev/_next/static/chunks/18bubx_dzn8wd.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 71 KB | 24 KB (33%) | ✓ | 3rd |
| https://turborepo.dev/_next/static/chunks/0t7lfra.oxrbg.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 14 KB | — | ✓ | 3rd |
| https://turborepo.dev/_next/static/chunks/0f2lz92is2xct.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 30 KB | — | ✓ | 3rd |
| https://turborepo.dev/_next/static/chunks/0nngslx5s91vn.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 8 KB | — | ✓ | 3rd |
| https://turborepo.dev/_next/static/chunks/14yvw9mucxk6c.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 7 KB | — | ✓ | 3rd |
| https://turborepo.dev/_next/static/chunks/04mdq-j-pnsk7.js?dpl=dpl_AhZCer3oC1s88hXSV6KywotPDJVG | 10 KB | — | ✓ | 3rd |
Consider code splitting or tree shaking to reduce unused code.
This bundle has high unused code — code-split or tree-shake to ship only what executes.
Source: web.dev / Lighthouse coverage
Consider code splitting or tree shaking to reduce unused code.
This bundle has high unused code — code-split or tree-shake to ship only what executes.
Source: web.dev / Lighthouse coverage
Consider code splitting or tree shaking to reduce unused code.
This bundle has high unused code — code-split or tree-shake to ship only what executes.
Source: web.dev / Lighthouse coverage
Consider code splitting or tree shaking to reduce unused code.
This bundle has high unused code — code-split or tree-shake to ship only what executes.
Source: web.dev / Lighthouse coverage
Consider code splitting or tree shaking to reduce unused code.
This bundle has high unused code — code-split or tree-shake to ship only what executes.
Source: web.dev / Lighthouse coverage
CGreen HostingActionWhether the site is served from green-energy infrastructureREVIEW
Green Hosting
No green hosting detected
BHTTP Cachingpublic, max-age=0, must-revalidateREVIEW
public, max-age=0, must-revalidate
| Directive | Value | Meaning |
|---|---|---|
| public | — | Any cache may store this response |
| max-age | 0 | Cache for 0 seconds |
| must-revalidate | — | Must recheck with server after expiry |
APage Weight Budget967 KB transferred, 67 requestsPASS
Large JavaScript bundles delay interactivity. Split code by route or defer non-critical scripts.
JavaScript bundle is large — code-split routes and lazy-load off-screen components to defer.
Source: web.dev
A+Text CompressionAll text resources are compressedPASS
A+Image Optimization6 images, 0 KB saveablePASS
A+Font Loading2 fonts (59 KB)PASS
Web fonts
2
59 KB total
Render-blocking
0
of 2
Dominant font-display
swap
Most common across fonts
Font loading timeline
Optimization checklist
- Preload critical fonts (priority=high)
- Use woff2 format for all fonts
- Set font-display to swap, optional, or fallback
- Subset large fonts (≤100 KB each)
A+Resource CachingAll resources properly cachedPASS
A+Critical Rendering PathNo render-blocking resourcesPASS
A+Resource Hints3 hints, 0 missing preconnectsPASS
Current Resource Hints
3 resource hints configured
Network Waterfall67 requests over 0msINFO
Performance analysis not available for this result.
Third-Party Script CostPer-script blocking time, transfer cost, and cache headersINFO
| Script | Category | Execution | Transfer | Unused | Monthly Cost | Verdict |
|---|---|---|---|---|---|---|
turborepo.dev turborepo.dev | Other | 1057ms | 71 KB | 33% | €11/mo | Costly |
turborepo.dev turborepo.dev | Other | 817ms | 0 KB | — | €9/mo | Costly |
turborepo.dev turborepo.dev | Other | 722ms | 11 KB | — | €8/mo | Costly |
turborepo.dev turborepo.dev | Other | 656ms | 40 KB | 71% | €7/mo | Costly |
turborepo.dev turborepo.dev | Other | 356ms | 7 KB | — | €4/mo | Costly |
Unattributable Unattributable | Other | 352ms | 0 KB | — | €4/mo | Costly |
turborepo.dev turborepo.dev | Other | 163ms | 176 KB | 73% | €2/mo | Optional |
turborepo.dev turborepo.dev | Other | 134ms | 37 KB | — | €1/mo | Optional |
turborepo.dev turborepo.dev | Other | 117ms | 1 KB | — | €1/mo | Optional |
turborepo.dev turborepo.dev | Other | 53ms | 120 KB | 80% | €1/mo | Optional |
These scripts may cost more than they're worth
- turborepo.dev adds 1057ms and costs ~€11/month
- turborepo.dev adds 817ms and costs ~€9/month
- turborepo.dev adds 722ms and costs ~€8/month
- turborepo.dev adds 656ms and costs ~€7/month
- turborepo.dev adds 356ms and costs ~€4/month
- Unattributable adds 352ms and costs ~€4/month
100% of JavaScript execution time is spent on third-party scripts. Consider auditing which scripts are essential.
When third-party JS execution time exceeds your own, performance gains from frontend work are capped by code you don't own.
Learn more ▾ ▴
Every millisecond of third-party JS competes with your own for main-thread time. If their share is bigger than yours, optimization on your code base barely moves the needle. Audit, defer, or remove third-parties before further frontend optimization. Use Lighthouse's third-party audit to identify the worst offenders.
Source: web.dev
turborepo.dev takes 1057ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
turborepo.dev takes 817ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
turborepo.dev takes 722ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
turborepo.dev takes 656ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
71% of turborepo.dev's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
turborepo.dev takes 356ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
Unattributable takes 352ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
73% of turborepo.dev's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
80% of turborepo.dev's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev