Skip to content
TeardownD2C retail

A fashion storefront

Six seconds to interactive on the phone most of its customers actually own. We pulled it apart and found 1.4MB of JavaScript doing work the server could have done.

6.2s1.8s

Time to interactive

1.4 MB280 KB

JavaScript shipped

4.1s1.2s

Largest Contentful Paint

3494

Lighthouse

Findings

  1. 01Critical

    The entire product catalogue rendered on the client

    Every category page shipped the full product list as JSON, then rendered it in the browser. On a mid-range device that is roughly 900ms of parse before anything appears.

    The fix

    Render the first screen of products on the server and stream the rest. The page paints while the data is still arriving.

  2. 02Critical

    A 340KB date library for one format call

    The whole of moment.js plus its locale bundle, loaded on every route, to format a delivery estimate.

    The fix

    Intl.DateTimeFormat is built into the browser and does the same job for nothing.

  3. 03Major

    Hero images served at 2400px to a 390px viewport

    No responsive sources and no modern format. The phone downloaded roughly six times the pixels it could display.

    The fix

    Responsive srcset plus AVIF with a JPEG fallback. Same image, about a fifth of the bytes.

  4. 04Major

    Third-party scripts blocking the main thread

    Four analytics and chat scripts loaded synchronously in the head, each one delaying first paint.

    The fix

    Defer everything that is not required to render, and question whether four tools are measuring four different things.

  5. 05Minor

    No performance budget in CI

    The site was fast at launch. Nothing since has stopped it getting slower, which is how it arrived here.

    The fix

    A per-route JavaScript budget that fails the pull request. This is the fix that keeps the other four from coming back.

Taking projects for Q4 2026

Send us a URL.

We will pull it apart properly and send you the findings. Whether you hire anyone afterwards is a separate question.

24h
Reply to every enquiry
48h
Written scope after the call
₹0
Cost of the first conversation
Chat on WhatsApp+91 97405 08191