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.