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
74 KiB of unused JavaScript is delaying LCP by 300ms and blocking page interactivity.
Configure Next.js tree-shaking by using ES6 imports instead of entire libraries. Add dynamic imports for large components that aren't immediately needed. Use Next.js Bundle Analyzer to identify and remove unused code from chunks 9da6db1e.js and 9204.js.
A score of 80 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 decent performance with a score of 80/100, but has significant room for improvement in loading speed. The biggest problem is excessive unused JavaScript code (73 KiB worth) that's slowing down the Largest Contentful Paint to 3.9 seconds, particularly from chunks that are 84-89% unused. The site would benefit most from code splitting to remove unused JavaScript, adding fetchpriority="high" to the main image, and addressing render-blocking CSS that's delaying initial paint by 150ms. These optimizations could potentially improve the LCP by 300ms and significantly enhance the user experience, especially on slower connections.
Why It Matters:
The LCP image takes 3.9 seconds to load due to missing priority optimization.
How to Fix:
Add priority={true} prop to the Next.js Image component for your hero/event image. This will add fetchpriority='high' attribute and preload the image resource. Move the LCP image higher in the component tree to reduce resource load delay.
Why It Matters:
18 KiB of legacy JavaScript polyfills are unnecessary for modern browsers and slow down parsing.
How to Fix:
Update your Next.js config to target modern browsers by setting target: 'es2020' in next.config.js. Remove polyfills for Array.prototype.at, Object.hasOwn, and other modern features. Use Browserslist to define your supported browser range excluding legacy browsers.
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.