Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize wahresume.com
540 KiB of unused JavaScript is delaying LCP by 2.25 seconds and blocking user interactions.
Use Next.js dynamic imports to code-split large bundles like Stripe.js and defer until needed. Configure webpack-bundle-analyzer to identify dead code in your Next.js chunks. Implement lazy loading for Stripe payments using next/dynamic with ssr: false.
A score of 58 falls in the "Needs Improvement" range (50-89). While it is better than poor (0-49), you should aim for 90+ to provide an optimal user experience and maximize SEO benefits.
This site is slower than approximately 35% of similar sites. The main issues affecting performance are image optimization, JavaScript execution time, and layout stability.
Addressing these issues could improve your conversion rate by 15-20% and boost your search engine rankings.
Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
Interaction to Next Paint
Good: < 200ms
Measures how quickly the page responds to user interactions
Cumulative Layout Shift
Good: < 0.1
Measures visual stability - how much content shifts during page load
This Next.js site has poor performance with a score of 58/100, primarily due to excessive unused JavaScript that's bloating the page. The biggest problem is 540 KiB of unnecessary JavaScript code (including Stripe and Next.js chunks), which is delaying your Largest Contentful Paint to a sluggish 11 seconds and making the page unresponsive for nearly 13 seconds. Removing or deferring unused JavaScript, especially the oversized Stripe integration and Next.js bundles, could save over 2 seconds in load time and dramatically improve user experience. Additional quick wins include optimizing your hero image (30 KiB savings) and implementing better caching strategies for external scripts.
Why It Matters:
Critical CSS files are blocking First Contentful Paint and delaying initial page render by 150ms.
How to Fix:
Extract critical CSS for above-the-fold content and inline it in your Next.js _document.js. Use next-critical-css or critical npm package to automate extraction. Move non-critical CSS chunks to load after initial paint using media='print' then switching to 'all' onload.
Why It Matters:
2.6 seconds of main thread work is causing 220ms of Total Blocking Time and poor interactivity.
How to Fix:
Break up long JavaScript tasks using setTimeout or scheduler.postTask API for non-urgent work. Move heavy computations to Web Workers where possible. Use React's concurrent features like startTransition for expensive state updates in your Next.js components.
Get AI-powered performance insights with actionable fixes in 30 seconds
More Next.js Speed Tests
2.6 seconds of main thread work is causing 220ms of Total Blocking Time and poor interactivity.
Critical CSS files are blocking First Contentful Paint and delaying initial page render by 150ms.
Hero image lacks fetchpriority='high' attribute which could improve LCP loading performance.
89 KiB of unnecessary polyfills delays LCP by 300ms for modern browsers that support these features natively.
Once your site is optimized, maintain that speed. Use DeployHQ for zero-downtime, automated deployments—so performance fixes and updates go live safely every time, without breaking your site.