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
The blocking CSS file delays both LCP and FCP by 150ms, preventing initial page render.
In your Next.js app, move critical CSS inline using next/head component for above-the-fold styles. Use dynamic imports for non-critical CSS or implement CSS-in-JS with styled-components. Configure next.config.js to inline small CSS files automatically using experimental.optimizeCss option.
A score of 74 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 issues with a score of 74/100, primarily due to extremely slow loading times with content taking 4.9 seconds to appear and 8 seconds to become fully interactive. The biggest problem is the Largest Contentful Paint taking 6.3 seconds, which is severely impacted by oversized images that are 126 KiB larger than necessary and poorly optimized JavaScript files containing 73 KiB of unused code. Immediate wins include properly sizing images for their display dimensions, removing unused JavaScript code, and addressing the render-blocking CSS file that's delaying initial page rendering by 160ms. These optimizations could easily improve the performance score by 15-20 points and dramatically enhance user experience.
Why It Matters:
73 KiB of unused JavaScript delays LCP by 600ms and wastes network bandwidth.
How to Fix:
Use Next.js bundle analyzer (@next/bundle-analyzer) to identify unused code in your chunks. Implement dynamic imports for components that aren't immediately needed. Configure your build process to target modern browsers only, removing polyfills for Array.prototype.at, Object.hasOwn, and other modern features that are widely supported.
Why It Matters:
Oversized images waste 126 KiB and could improve user experience with proper sizing.
How to Fix:
Replace img tags with Next.js Image component which automatically generates responsive images. Configure next.config.js with your CDN domain (staging-cdn.happythoughts.in) in the images section. Use sizes prop to match your responsive breakpoints (e.g., '(max-width: 768px) 100vw, 378px') for proper image scaling.
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.