APRIL, 2026
Fix Performance With a Claude Skill
↗Github repoMy Vercel Speed Insights score sat at 89, stuck in orange. I knew the site had a problem. I just didn't want to dig through performance docs to find it.

Try it yourself
npx skills add IpshitaChatterjee/performance-fixOpen your project in Claude Code and use /performance-fix
It asks for your deployed URL and a free Google PageSpeed API key (2 minutes to set up), then returns a prioritized report in plain language.
The problem
Four problems I never would have caught on my own, in my /about page:
| Culprit | Weight | Next steps |
|---|---|---|
| Sketchbook videos (uncompressed) | 57 MB | compressed videos |
Timeline polaroid photos (11 raw <img>) | ~15 MB | add next/image with lazy loading |
CameraRoll travel photos (5 raw <img>) | ~10 MB | add next/image with lazy loading |
| Album cover PNG | 534 KB | add next/image with avif/webp |
The page felt fast. First content painted in 0.9 seconds. But the largest element took 30 seconds to load. That's what Lighthouse measures.
The results

| Metric | Mobile Before | Mobile After | Desktop Before | Desktop After |
|---|---|---|---|---|
| Overall score | 75 🟡 | 77 🟡 | 60 🟡 | 98 🟢 |
| LCP | 30.8s | 5.5s | 9.9s | 1.2s |
| TBT | 10ms | 30ms | 190ms | 10ms |
| Speed Index | 2.3s | 4.4s | 5.2s | 0.8s |
| FCP | 0.9s | 0.9s | 0.3s | 0.3s |
| CLS | 0 | 0 | 0 | 0 |
Desktop went from 60 to 98. That felt like a real win. And, the Vercel speed inisights dashboard shows a 7 point jump! The page loads in 1.2 seconds now instead of almost 10. I didn't have to understand what LCP stood for to know that was a lot better.
One metric actually got worse on mobile, Speed Index went from 2.3s to 4.4s. The skill flagged this and explained it is probably not a real slowdown. When images are properly optimised and preloaded, the browser changes how it calculates when the page looks "done." It is a measurement quirk, not something the user would notice.
Why mobile is still not perfect
This one took me a while to understand.
Every component on my /about page is marked as a client component, meaning the browser has to load and run all the JavaScript before it can even start showing images. On a fast laptop that happens quickly. On a phone with a slower connection it adds a few seconds before anything appears.
The images are now small and optimised. That problem is solved. The remaining slowness is about how the page is built, not what it contains. Fixing it properly would mean rethinking which parts of the page actually need to run in the browser and which could just be plain HTML. That is a bigger project for another time.