Build
Fast is not a setting — it is the only mode
The browser receives server-rendered HTML plus a handful of small interactive islands, not a megabyte of JavaScript. Pages are tag-cached, so a price change refreshes one product instead of rebuilding the site.
Architecture
Architecture
HTML first, JavaScript only where it earns its place
React Server Components render the page on the server. Only a handful of genuinely interactive pieces — variant picker, add-to-cart, search, cart drawer — ship as client-side islands.
- React Server Components render pages on the server
- A small set of client islands: variant picker, add-to-cart, search, cart drawer
- No megabyte-scale JavaScript bundle to hydrate before the page is usable
- The same architecture across all five theme families
Caching
Caching
A price change touches one product, not the site
Pages are cached and tagged by what they depend on. Changing a price invalidates only the tag for that product, so the rest of the catalogue stays served from cache untouched.
- Tag-based cache invalidation, not a full-site rebuild
- A price or stock change refreshes exactly one product
- The rest of the catalogue keeps serving from cache
- No deploy required for a content or price change
Assets
Assets
Smaller images, fonts that do not block the page
Images serve as AVIF or WebP with a responsive srcset through an image CDN. Fonts are self-hosted and subset, so the page does not wait on a third-party font request to render text.
- AVIF/WebP images with responsive srcset via an image CDN
- Self-hosted, subset fonts — no third-party font request
- Responsive image sizing generated automatically
- Applies identically in LTR and RTL layouts
Enforced in CI
Enforced in CI
A budget every theme has to pass, in both directions
Core Web Vitals budgets are checked in CI for every theme, tested in both LTR and RTL, so a layout mirrored for Arabic is held to the same performance bar as the English one.
- LCP, INP and CLS budgets enforced in CI
- Checked for every one of the five theme families
- Tested in both LTR and RTL — Arabic is not the slower version
- A regression fails the build, not the customer’s connection
Comparison
What your customer actually downloads
The difference is not a claim, it is what ships to the browser on the first request.
JavaScript on first load
- This renderer
- A handful of small islands
- Typical SPA storefront
- 500KB–1.5MB bundle before hydration
First content visible
- This renderer
- Server-rendered HTML, visible immediately
- Typical SPA storefront
- Blank shell until JavaScript hydrates
Cache strategy on a price change
- This renderer
- Tag-based, refreshes one product
- Typical SPA storefront
- Full rebuild, or no page cache at all
Core Web Vitals testing
- This renderer
- Enforced in CI, LTR and RTL
- Typical SPA storefront
- Rarely tested for RTL at all
| Capability | This renderer | Typical SPA storefront |
|---|---|---|
| JavaScript on first load | A handful of small islands | 500KB–1.5MB bundle before hydration |
| First content visible | Server-rendered HTML, visible immediately | Blank shell until JavaScript hydrates |
| Cache strategy on a price change | Tag-based, refreshes one product | Full rebuild, or no page cache at all |
| Core Web Vitals testing | Enforced in CI, LTR and RTL | Rarely tested for RTL at all |
Specification
Every detail, spelled out
Rendering architecture
- Model
- React Server Components, HTML plus small client islands
- Interactive islands
- Variant picker, add-to-cart, search, cart drawer
Caching
- Strategy
- Tag-based invalidation, per-entity refresh
- A price change
- Refreshes one product, not the site
Images & fonts
- Image format
- AVIF/WebP via an image CDN
- Fonts
- Self-hosted, subset
Core Web Vitals
- Enforcement
- Budgets checked in CI for every theme
- Coverage
- Tested in both LTR and RTL
FAQ
Questions about Speed
Does a price change require redeploying the site?
How much JavaScript does the browser actually download?
Is Arabic (RTL) tested for performance too?
What image formats are served?
Are fonts loaded from a third party?
See the numbers on your own catalogue
We can run a live Core Web Vitals check against your current site.
No card required · Live in a day · Support in Arabic and English