Performance and themes

Performance notes

What the storefront code weighs, what it loads and from where, one measurement on one theme, and how to measure your own store so the numbers compare.

Applies to: TreStack Timer, every plan
Updated: 26 September 2026

At a glance
  • Bundle: 11.4 KB gzipped
  • Measured: 26 September 2026
  • Theme measured: Horizon, one page

What loads, and from where

The storefront code is one script bundle, served from the Shopify CDN as part of the theme app extension and loaded with defer, so it does not hold up the page. Your published timers are written into the page by the app embed, so there is no request to our server to fetch them. While no timer is published, the embed loads nothing at all.

A web font loads only the character sets the timer text uses, from the same extension. A background image is served from your own store Files. The one request that goes to our server is a small count event to timer.trestack.app when a timer is seen, clicked, closed, or completed, which is what the analytics and the monthly views read.

The numbers

The script bundle measured 11.4 KB gzipped on 26 September 2026, against a target of under 15 KB.

On the same day we ran Lighthouse mobile on a product page on Shopify Horizon theme with a top bar and a product timer that had a background image and a web font, five runs with the app and five without, and compared medians. There was no measurable drop in the performance score, layout shift was the same, and the product image stayed the largest paint. That is one measurement on one theme. It is not a guarantee for every store, which is why the next section exists.

Measuring your own store

Lighthouse on a live storefront is noisy: two runs on an unchanged page often differ by several points. Run each configuration at least three times and compare medians, on the same page, with the same device setting, in a private window with no browser extensions. Test the page the timer is actually on, logged out.

If the median moves by more than a couple of points, send us both sets of reports and the page URL. We treat that as a bug, not a tuning question.

Measuring the cost, in four steps.

Pick one page and log out

The page the timer will be on. Private window, no browser extensions, no customer session.

Run three baseline reports

Same device and throttling each time. Save all three and note the medians.

Publish the timer

Change nothing else on the theme in the same session, or the comparison means little.

Run three more and compare

Compare medians for largest paint and layout shift, not only the headline score.

Settings reference

Script
One bundle, loaded with defer, from the Shopify CDN as part of the theme app extension.
Size
11.4 KB gzipped, measured 26 September 2026. Target under 15 KB.
Timer settings
Written into the page by the app embed. No request to our server to fetch them.
Nothing published
The app embed loads no script at all.
Fonts
Your theme font by default. A web font loads only the character sets the timer text uses.
Images
Background images come from your own store Files on the Shopify CDN.
Requests to our server
Count events only, to timer.trestack.app, with the timer ID and event type and no shopper identifier.

If this does not work

The failures most likely on this procedure, with the check that resolves each one.

Copyright © 2026