One platform · six brands · six storefronts
Every storefront below is a complete supplement shop with its own brand, product portfolio, navigation, homepage, product cards, product page, typography, colour and motion. Underneath, all six run the identical cart, checkout, payment, order, account, search, filtering, inventory and admin code — one engine, six templates. Browse any of them, add something to a basket, and you are using the same checkout in each.
Each opens the complete shop — home, catalogue, product pages, cart and checkout — at its own URL.
Fresh and energetic. Merchandised by vitamin, benefit and format, with a fizz-led hero and a comparison table that argues the format honestly.
Editorial and quiet. Products are organised by wellness goal and by morning or evening ritual, and the card is a catalogue entry rather than a promotion.
Bold and dense. Shop by performance goal or training stage, then build a four-slot stack that prices itself and drops straight into the shared cart.
Ingredient-first. Shop by format — tablets, powder, capsules, blends — and every product page opens on the pond it was grown in, not the price.
Retail-shelf colour coding across three format rails, plus benefit and audience. Playful in palette, professional in structure.
The current Ascofizz site, unchanged — same navigation, pages, components, catalogue and workflow. The reference point the other five are measured against.
The split that makes a brand swap a template change instead of a rebuild.
A brand pack is two files — template/brand.css and template/brand.js — declaring its
palette, type, navigation, homepage, card, product page and portfolio. scripts/build-storefronts.py
copies the engine and attaches the pack, publishing each storefront at /demo-1 … /demo-6.
The live Ascofizz storefront keeps the site root and is untouched by any of it. Adding a seventh brand means
writing a seventh pack; it does not mean touching the checkout.