One canvas lays out every page: 85 bounded section types on a single renderer, so what you design is what ships. That same canvas runs the catalog behind it: products and variants edited like a spreadsheet, combo bundles whose stock is derived from their parts, nutrition read off the pack. One product record, so a name you change on the page is already saved on the product.
This is the real editor chrome. The same undo/redo, draft/publish and delta chip run every page on your store.
Every block your store can show (heroes, product grids, testimonials, FAQs) comes from one registry, not a pile of one-off templates. That's what makes the rest of this page possible.
section types, one grammar
reorderable & duplicable
singletons — one per page
The opening panel: headline, support line, up to two calls to action.
Editorial prose, image-and-text splits, FAQs, feature rows.
Live product and collection grids, with items filling in from your catalog.
Testimonials, trust bars, press mentions.
Photo galleries and brand imagery, framed to the grid.
Ribbons, dividers, closing panels — the rhythm between everything else.
64 usable on site pages · 22 on a product page · 11 on a blog post, plus 4 site-wide chrome sections (navbar, footer, announcement bar, coupon popup) that never clutter the Add gallery.
A product or blog page doesn't fork your template when you customise it. It stores only what's different. Everything you never touched keeps inheriting your future edits, forever. Shopify has no native equivalent.
Pages store only their differencesfrom the template, never a fork. A template edit keeps flowing to every page that hasn’t touched that section; a page that has keeps exactly what it changed. Shopify has no native equivalent.
There's no second renderer trying to approximate the first. Editor affordances are optional hooks on top of the one path — strip them out and what's left is exactly your public page.
the one renderer
PageRenderer
Editor canvas
what you edit
Dashboard thumbnail
what the list shows
The live page
what a shopper sees
Section style is a closed set of enums and tokens, never raw CSS. Pick a colour outside your palette and the system quietly hands back the nearest one that belongs to your brand.
Try to go off-brand
Pick a colour that isn’t in the palette.
#FF2E9A
your pick
#c97a4c
ships as “Copper”
This runs the real clampToPalette() function, snapping to the nearest of your 8 brand colours by distance. There is no field that accepts the pink.
The boring parts of an editor are the parts that earn trust. Nothing here is a scaled-down div pretending to be a phone.
Fourteen of the eighteen sections on a product page are yours to restyle. The four that touch commerce (pack selector, add to cart, pincode check, subscription nudge) stay put, because that's not a design decision.
Page Builder canvas
PDP · Overview section
Product name
Products admin
Catalog · Jasmine Green
Product name
The same admin that lays out a page also runs the catalog behind it: products and variants edited like a spreadsheet, combo bundles whose stock is derived from their parts (never typed), and low stock that flags itself under ten. A label photo can even fill the nutrition panel, with you approving every value before it goes live.
| Product · SKU | Option | Price | Status | Stock |
|---|---|---|---|---|
Pineapple Green Tea ZT-PGT-50· default | 50 g | ₹299 | Active | 9Low |
Jasmine Green Tea ZT-JGT-50· default | 50 g | ₹315 | Active | 7Press Enter |
Lemon Ginger Green Tea ZT-LGT-50· default | 50 g | ₹329 | Active | 6Low |
Prices display in rupees and store to the paise (₹315 = 31,500). Press Enter or blur to save. Saving / Saved / Retry / Low / Out states, per SKU.
Calculated from Pineapple, Jasmine, and Lemon Ginger stock.
Scanning components. Bundles fall to the lowest child, never typed by hand.
Combos hold no stock of their own (note the lock). A missing or inactive component drops availability to 0 with a blocking warning.
Reads only what’s legibly printed on the pack. Undeclared fields stay blank, never guessed. Each value comes back with a confidence badge to verify.
Per serving · 1 cup (2 g)
Nothing goes live until you approve it, and any later edit needs re-approval. Approved facts feed the product page and Google rich results. Shown here as a simulation; it launches with your API key.
Two smaller mechanics, the same canvas: how a page shows up on Google and in a share card, and how a blog post gets written.
Search & social preview
Google resultyourstore.com › shop › jasmine-green
Jasmine Green Tea — Whole Leaf, 50g | Your Store
Whole-leaf Darjeeling green tea, hand-blended with real jasmine. No dust, no artificial flavouring, free delivery over ₹499.
Title /60 · description /160 · canonical · robots — noindex also drops the page from the sitemap.Product and post SEO edit the entity itself, so there’s one source of truth rather than two out-of-sync copies.
Article body, in a drawer
Title, excerpt and cover are bound fields; the body is a real rich-text editor in a slide-over. Lazy-loaded, so it never enters your page’s initial JS.
Every gap below is the same decision, said six ways: the bounded model is the thesis, not a limitation we're hiding.
None of these are missing features. We design and build your store for your brand first — the editor you inherit afterwards can’t quietly drift away from it.
Built for your brand. Yours to edit after.
We design and build the store first — live in 7 days. The editor underneath it is the same one your team uses afterwards, and it still can’t go off-brand.