Skip to content
Theme Optimisation · Beta

The speed hiding in your theme code.

An AI trained on our theme playbook reads a copy of your theme and finds the fixes that move Core Web Vitals. A Whoosh engineer checks every one. You preview, you publish.

  • Free while in beta
  • Only ever a copy of your theme
  • A person reviews every change
One real suggestion from the beta Your copy
Image loading Reviewed by Whoosh

Product page LCP: the first gallery image is the largest thing on the page, but every slide loads eager with high priority, so it competes with the one shoppers see first. Keep the first eager, make the rest lazy.

snippets/product-gallery.liquid

{%- for media in product.media -%}  {%- render 'media', image: media,      image_loading: 'eager' -%}  {%- if forloop.first -%}    {%- assign loading = 'eager' -%}  {%- else -%}    {%- assign loading = 'lazy' -%}  {%- endif -%}  {%- render 'media', image: media,      image_loading: loading -%}{%- endfor -%}
Live theme untouched

Early days, said up front

We are running this by hand on a small number of stores, and we do not yet know how big the gains will be. What we can tell you is what it looks for, what it changes, and what those changes usually do. Every change is made on a copy of your live theme. You check the copy, and it only becomes your live theme if you publish it.

What it is

Some of the biggest speed wins live inside the theme itself.

Whoosh already makes your store faster from the moment a shopper arrives, by ordering your apps, deferring scripts and preloading the next page. Theme Optimisation adds a new layer: the theme's own code, where a few decisions made the day the theme was built have quietly cost time on every page load since.

What Whoosh does

Speed without touching your theme

  • Loads the apps shoppers see first, defers the rest
  • Keeps chat widgets, trackers and review tools off the critical path
  • Preloads the next page, and its hero image, before the tap
  • Measures real-user speed and ties it to conversion
  • Proves the lift with a permanent A/B test, not guesswork

What Theme Optimisation adds

Speed from inside the theme

  • Which image is the Largest Contentful Paint, and how early the browser hears about it
  • Eager or lazy, decided per image, across the whole store
  • Scripts and stylesheets that block the first paint
  • Reserved space for logos, heroes and sliders, so the page does not jump
  • Development bundles and third-party code shipped to every visitor

Nothing Whoosh does today changes. This adds to it: the work a developer used to do by reading every Liquid file by hand, written down and run by an AI, with our engineers checking every change.

What it finds

The same fixes keep coming up.

Every one of these is a real finding from the beta, with the store's name removed.

The hero image found late

The browser only hears about the biggest image after parsing the whole page. Fix: a preload hint on the first slide, and only the first.

Usually moves: LCP

Everything set to load at once

A dozen gallery images competing with the one shoppers see first. Fix: the first eager, the rest lazy.

Usually moves: LCP, mobile data

Scripts and fonts in the way

A script without defer and a third-party font holding up the first paint. Fix: defer, preconnect, swap.

Usually moves: First paint, INP

A page that jumps

A logo and a slider with no reserved size, so the layout shifts as they load. Fix: explicit sizes.

Usually moves: CLS

Dead weight for every visitor

A development build in production and a B2B script loaded for everyone. Fix: the production build, and gate the rest.

Usually moves: INP, download size

Nothing, on purpose

Already handled? It says so. Built by JavaScript and not fixable in theme code? It flags it instead of guessing.

Usually moves: Nothing

What you might get

Where we expect the difference, and where we do not know yet.

LCP

Biggest change

How long until the biggest image appears

On themes with the problems above we would expect a few hundred milliseconds on mobile, and over a second where the image was waiting on JavaScript.

CLS

Big change

How much the page jumps while it loads

Where a page jumps, reserving sizes for logos, sliders and images usually takes the shift close to zero. The page stops moving under a shopper's thumb.

INP

Smaller, but real

How quickly a tap gets an answer

Less script on the main thread helps. How much depends on what else the page is running.

Why LCP moves the most Illustrative

Before: the theme mentions the image late

HTML
CSS
JavaScript
Hero image

After: a preload hint in the first bytes

HTML
CSS
JavaScript
Hero image

How much? It depends on how late your theme finds its own image.

A browser cannot download an image it has not heard about. Many themes only mention the hero after the whole page has parsed, and some only after their JavaScript has run. A preload hint moves that to the first few bytes. The gap between the two LCP lines is the gain.

The honest part

Expectations from how browsers work, not results we can promise yet. Some themes are already in good shape, and we will say so. And every change is made on a copy of your live theme first. You check the copy, and nothing reaches a shopper unless you publish it.

Why a few hundred milliseconds matter

+8.4%

retail conversions per 0.1s faster (Google)

+9.2%

higher order value per 0.1s faster (Deloitte)

Not random AI

It reads your theme the way our best engineer would.

Because that is who taught it. It knows Shopify themes: Liquid, sections and snippets, the image_tag filter, and how the hero, the collection grid and the product gallery each decide which image is the Largest Contentful Paint. Two years of hand-tuning themes, written down.

Three checks, in order

  1. 1

    The AI proposes an exact change, with its reasoning.

  2. 2

    A Whoosh engineer picks which ones are worth making, and applies them to your copy.

  3. 3

    You check the copy and publish it as your live theme when you are happy with it.

Shopify-specific, down to the filter

It knows a preload hint belongs on the first slide only, that a collection's first product card is its LCP, and that one shared media snippet often feeds every image on the store. It targets the exact line.

Every change comes with its reasoning

Each suggestion says what it found, why it matters and what changes, as a before-and-after. If it cannot be explained in plain English, it does not get made.

It knows when to leave things alone

If your hero is already preloaded, it says so and moves on. If a grid is built by JavaScript and cannot be fixed in Liquid, it tells us instead of guessing.

How it works

Five steps.
Your live theme is not one of them.

Three of the five are yours, two are ours, and none of them touch your live theme.

  1. 1

    Opt in You

    One reply from us. Nobody on your side touches code.

  2. 2

    Duplicate your live theme You

    In your Shopify admin: Themes, then Duplicate. One click. That copy is the only theme we touch, and your live theme stays exactly as it is.

  3. 3

    The AI reads every file of the copy Whoosh

    Layouts, sections, snippets, assets. It maps what loads first on the home, collection and product pages, and what is holding each one back.

  4. 4

    Our engineers review and apply Whoosh

    We check every suggestion, keep the ones that matter, and apply them to your copy as small, readable changes.

  5. 5

    Check the copy, then decide You

    Open the copy in Shopify's theme preview and check everything: pages, cart, your phone. When you are happy, publish it as your live theme. Until then, your live theme is untouched.

Your Shopify admin, themes

Current theme

Your theme

Live. Not touched.

Live

Theme library

Copy of your theme

Made by you. 7 changes staged by us.

Draft

You make the copy yourself in Shopify (Themes, then Duplicate) and it sits in your theme library next to the live theme. Check it, share the preview link with your team, and publish it as your live theme when you are happy with it. The original is still there if you ever want it back.

Safe by design

Built so the worst case is "nothing changed".

The changes are to how the theme loads, not to what it shows.

Only the copy you made

Every change lands on the duplicate you created. Your design, content and settings stay as they are.

You check the copy first

Shopify's own theme preview shows you the copy before any shopper sees it. Test it on your phone, check the cart, compare pages.

Publishing is your call

When you are happy, publish. If not, do not. The original is still in your library, so going back is one click.

Opt in, opt out

Say no and nothing happens. Say yes, then change your mind, and we stop. No questions.

In beta

Exciting, early, and honest about both.

Free while in beta

Pricing comes later, inside the Whoosh app. Beta stores hear first.

Work in progress

Slow and careful rather than fast and wrong. Some suggestions we will decline ourselves.

We might say no

If your theme is already in good shape, we will tell you. That is a good outcome.

For stores on Whoosh

Open to stores already running Whoosh, and to partners with a client on it.

Stop at any point

Say the word and we stop. Nothing on your store changes.

FAQs The short list

Questions we get asked first

How much faster will my store be?

Honestly, we do not know yet for your theme, and we would rather say so than guess. The expectations above come from how browsers work. What we can promise is the order things happen in: every change goes on a copy of your live theme first, you check the copy, and nothing goes live until you publish it.

Will it change my live store?

Not unless you publish the copy. Every change is made to a duplicate you create in your theme library. You preview it, and it only goes live if you publish it yourself.

What if a change breaks something?

You would see it on the preview before any shopper does. Tell us and we fix it or drop it. The original theme is still in your library, so you can always publish that again.

Do I need a developer?

No. If you have one, they are welcome to read every change: each one is a small, plain diff with an explanation. If you do not, we walk you through what was found.

What does it cost?

Nothing while it is in beta. When it moves into the Whoosh app it will be priced as part of the app, and beta stores hear first.

Something else on your mind?

Ask below, or email admin@getwhoosh.ai.

Request beta access
Request access

Want your theme looked at?

Tell us which store and we reply personally, including if we think it is not worth doing yet. Partners: tell us which client you have in mind and we will loop them in with you.

  • Free while in beta
  • Only a copy of your theme
  • Stop at any point

Prefer email? admin@getwhoosh.ai

You are

One personal reply, nothing else. Free while in beta, no contract, and nothing changes on your store unless you publish it.

Free audit

Two free audits, one address.

Enter your store once. Both run while you keep browsing.

  • Whoosh Value Audit What faster pages are worth
  • Speed Audit Score, slow apps, Core Web Vitals

Free. Nothing to install.

Free audit

Starting the value audit

Starting the speed audit

Auditing

  • Value Audit Running
  • Speed Audit Running, up to 3 min

Keep browsing. We'll show you here when both are ready.

Your free audit is ready Your free audit is ready