How Featherstall shops are built
Many of your buyers will open your shop on a phone, from a link in a bio or a post, sometimes on one bar of signal. Everything a page sends has to reach that phone before the page is whole. So we keep shop pages small, send no extra code, and track nobody. Here's what that means, with every number explained.
1. Small pages
A web page arrives in parts. First comes the page itself, called the HTML: its words, prices and layout. Then come its styling, its fonts and its photos.
- The page itself: built to stay within 14 KB, compressed for sending. A KB (kilobyte) is about a thousand characters' worth of data. That's the HTML only, before photos, styling and fonts.
- Your look's styling: at most 7 KB, before any custom CSS you add.
- Two fonts: 57 to 95 KB together, depending on the look.
- Then your photos.
Automated tests check these limits every time our code changes, so they can't creep up. On a sample shop with 24 products, the home page, a product page, search and the cart must each stay within 14 KB, and each look's styling within 7 KB.
2. No JavaScript in your shop
JavaScript is code a web page sends for the phone to run. Shop builders use it for things like pop-ups, chat bubbles and trackers. All of it has to download, and then the phone has to run it.
Featherstall shop pages send none: 0 KB. Browsing, search and the cart are plain web pages and forms, which any phone already knows how to use.
For comparison, on 30 September 2026 we measured eight showcase stores on Big Cartel and Shopify. Each loaded between 136 KB and 516 KB of JavaScript. Other stores will differ, and these numbers can change.
One exception is checkout. Buyers pay on Stripe's own checkout page, which Stripe builds and runs, so it isn't part of these numbers.
3. Quick at our end
When a buyer opens a page, our server finds it and sends it. For a page it already has ready, half the time that takes 0.05 ms or less, and 99 times in 100 it takes under 0.2 ms. A millisecond (ms) is a thousandth of a second, so 0.2 ms is two ten-thousandths of a second.
That's the time at our server only. The trip across the internet and the buyer's phone add their own time, which we can't shorten. A small page with no code to run gives them less to do.
4. Changes show in about two seconds
When you save a change, your shop shows it about two seconds later.
5. Nothing watching your buyers
Your shop has no analytics, no ad pixels and no tracking cookies, and our privacy policy promises that. The other side of it: you can't add a Facebook or TikTok pixel, and we don't count your visitors. You see your orders.
6. Easy for search engines to read
Every shop gets these, with nothing for you to set up:
- A sitemap: a list of all its pages, for search engines.
- robots.txt: a note telling search engines and AI assistants what they may read.
- llms.txt: a plain-text summary of your products, prices and terms, for AI assistants.
- Product details in schema.org: a shared format that Google and others read.
- Old links that keep working: rename a product, and its old address sends buyers to the new one.
One more you set up yourself: a product list at /products.xml, which Google Merchant Center reads to show your products in Google's free listings. It appears once you set up a Merchant Center account, your shop can take payments, you've answered "Who makes what you sell?", and each product has a photo. Google decides what it shows.
Your shop stays hidden from search engines until it can take payments, so nobody lands on a shop that can't sell yet.
How we measured
- Page limits: automated tests on a 24-product sample shop, on every change to our code.
- Server times: measured at our server, for pages it has ready. They leave out the internet and the phone.
- Other stores' JavaScript: eight Big Cartel and Shopify showcase stores, measured on 30 September 2026.