I run my own Next.js 14 store (link at the end). It was sitting around the low 50s on mobile, LCP over 10 seconds. It is now 98 on mobile PSI, LCP about 3.5s. This is a live store with real traffic, not a demo, so every fix had to survive production.
What actually moved the number, roughly in order of impact:
Self-hosted the fonts. 15 woff2 files local, inline @font-face, preload only the critical cyrillic and latin subsets. This killed every external font connection and was the single biggest win.
PNG to WebP everywhere. Category images went from about 11MB to 0.5MB, blog covers from 37MB to 1.3MB.
Deferred the iframe embeds and the hero video to window.load. Their runtimes were stealing the main thread from first paint.
Dropped the reveal animations on the above-fold hero.
The trap: my local Lighthouse kept flapping between 63 and 99 on the exact same build. I burned an hour chasing a regression that did not exist. It was my laptop under load, not the page. A cold PSI run was the real number. Lab scores lie under local CPU pressure, trust the field.
Live store: https://euphoria-parfum.com.ua. Write-up of the build: https://maegamidev.vercel.app/euphoria.html. Happy to answer anything.
United States
NORTH AMERICA
Related News

Mattress Firm Coupons: Save up to $600
4h ago
π I Built a Dropshipping Automation Pipeline β Here's What I Learned (and What I'd Do Differently)
11h ago
How I Cut My LLM API Bill by 40x: A Freelancer's Migration Story
11h ago
Cursor AI Review 2026: The AI-Native Code Editor
8h ago

Another Model Rewrote My Memories. Here's How I Caught It.
8h ago