Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize circles.life
Legacy JavaScript polyfills add 13 KiB of unnecessary code that modern browsers don't need.
Update your Next.js browserslist config to target modern browsers only (>0.5%, not IE 11). Configure Babel to exclude polyfills for Array.prototype.at, flat, flatMap, and Object methods. Set browserslist to 'defaults and supports es6-module' to avoid transpiling ES2015+ features.
A score of 78 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 below-average performance with a score of 78/100, but has significant room for improvement. The biggest problem is excessive unused JavaScript code, which is wasting 100KB of bandwidth and delaying page interactivity by 450ms, combined with a very slow Largest Contentful Paint of 5.7 seconds. The site is also serving oversized images (48KB waste) and using outdated JavaScript polyfills that aren't needed for modern browsers (13KB waste). Removing unused code, properly sizing images, and updating the build configuration to target modern browsers could dramatically improve load times and user experience.
Why It Matters:
100 KiB of unused JavaScript is delaying LCP by 450ms and blocking the main thread.
How to Fix:
Use Next.js bundle analyzer to identify unused code in chunks 929, 8210, and 020d84de. Enable tree-shaking in webpack config and implement dynamic imports for components not needed on initial load. Consider code splitting at the route level using Next.js dynamic imports.
Why It Matters:
Oversized CirclesAI image wastes 48 KiB and missing dimensions cause layout shifts affecting CLS.
How to Fix:
Resize the CirclesAI image from 4025x1684 to match display size 586x245 using Next.js Image component with proper width/height props. Add explicit width='335' height='140' attributes to prevent layout shifts. Use next/image with priority prop for above-the-fold images.
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
The corridor shield image is 48KB larger than needed for its display dimensions.
CSS files are blocking initial page render and delaying LCP by 600ms.
The LCP element (background texture SVG) lacks priority hints, delaying critical resource loading.
3.5 seconds of JavaScript execution time is blocking the main thread and causing 2.5 seconds of Total Blocking Time.