Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize tokyoportfolio.frontend.stg.vercel.app
87% of CSS in your main stylesheet is unused, wasting 18KB and delaying LCP by 150ms.
Use PurgeCSS with Next.js to automatically remove unused styles during build. Configure tailwind.config.js purge settings to target all component files. Audit and remove unused Tailwind classes from components.
A score of 79 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 79/100, but faces significant user experience issues. The biggest problem is render-blocking CSS files that are delaying the initial page render by 870ms, directly impacting how quickly users see content. The site also suffers from excessive unused JavaScript (213 KiB) and CSS (18 KiB), plus a concerning Time to Interactive of 14.9 seconds, meaning users must wait nearly 15 seconds before they can fully interact with the page. Addressing the render-blocking resources and removing unused code could improve the score by 15+ points and dramatically reduce load times.
Why It Matters:
CSS files are blocking initial page render for 870ms and delaying First Contentful Paint by 850ms.
How to Fix:
In Next.js, use dynamic imports for non-critical CSS components. Move critical CSS inline using next/head for above-the-fold styles. Configure next.config.js to enable CSS optimization and code splitting for remaining stylesheets.
Why It Matters:
Google Analytics and Facebook Pixel scripts consume 213KB of unused JavaScript and cause 57ms of forced reflows.
How to Fix:
Use Next.js Script component with strategy='afterInteractive' for tracking scripts. Move Google Tag Manager to load after page interaction. Consider using Partytown to run third-party scripts in a web worker to avoid main thread blocking.
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
You're loading 287KB of unused JavaScript and 19KB of unused CSS, blocking rendering and slowing page load.
Your CLS score of 0.806 is extremely poor (needs <0.1) with the footer element causing massive layout shifts.
Google Analytics and Facebook Pixel scripts consume 213KB of unused JavaScript and cause 57ms of forced reflows.
CSS files are blocking initial page render for 870ms and delaying First Contentful Paint by 850ms.