Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize dev.happythoughts.in
18 KiB of legacy polyfills are unnecessary for modern browsers and slow LCP by 150ms.
Update Next.js config to target modern browsers by setting 'browserslist' to exclude IE and old Safari versions. Remove polyfills for Array.prototype.at, Object.hasOwn, and other modern features. Use differential serving with next/dynamic for legacy browser support only when needed.
A score of 76 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/React site has moderate performance issues with a score of 76/100. The biggest problem is an extremely slow Largest Contentful Paint of 6.2 seconds, which is primarily caused by oversized images that are much larger than their displayed dimensions (896x1280 images shown at 662x945). Additionally, the site is shipping 73 KiB of unused JavaScript and 18 KiB of unnecessary legacy JavaScript polyfills that modern browsers don't need. Implementing responsive images, removing unused code, and optimizing the JavaScript build process could improve loading times by several seconds and significantly boost the user experience.
Why It Matters:
73 KiB of unused JavaScript is blocking LCP by 400ms and delaying page interactivity.
How to Fix:
Use Next.js dynamic imports to code-split large chunks like 9da6db1e-84d596694ed54865.js (85% unused). Implement tree shaking by adding 'sideEffects: false' to package.json. Use Next.js built-in bundle analyzer to identify and remove unused dependencies.
Why It Matters:
Images are oversized by 126 KiB, serving 896x1280 files when only 662x945 is displayed.
How to Fix:
Use Next.js Image component with responsive breakpoints and srcSet generation. Configure next.config.js with image domains and add 'sizes' prop matching your layout breakpoints. Enable automatic WebP conversion through Next.js built-in image optimization.
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.
Get AI-powered performance insights with actionable fixes in 30 seconds
More Next.js Speed Tests
18 KiB of legacy JavaScript polyfills are unnecessary for modern browsers and slow down parsing.
The LCP image takes 3.9 seconds to load due to missing priority optimization.
Element render delay of 3.8 seconds is blocking LCP and causing the 6-second load time.
3.2 seconds of main thread work creates 690ms Total Blocking Time, preventing user interactions.