Problem
Each store has hundreds of products with dozens of flavour variants and hundreds of SEO pages. Managers needed to assemble collection content without a developer. The storefront had to show variants correctly, limit quantities and meet accessibility requirements, and the same work was needed in several stores.
Solution
Features sit on collection, product and variant metafields that managers fill in the admin, and the theme renders them with Online Store 2.0 JSON templates. Where Liquid cannot give the data, JavaScript computes it from the product and collection JSON endpoints. Work went through git, with a branch and pull request per feature and a step-by-step guide for moving features between stores.
Key decisions
Chose metafields over hard-coded sections
Why Managers set up sliders, articles and FAQs for each collection in the admin.
Chose to compute flavour and product counts in the browser
Why Liquid options gave no reliable numbers for metafield references, and only a JSON request did.
Chose one implementation plus a transfer guide
Why The stores share a theme, so fixes carry over almost unchanged.
Chose a purchase limit per product, not per variant
Why The cap must hold across all flavours of a product.
Results
- Dozens of reviewed pull requests on the main store, with features documented for transfer.
- Accessibility work shipped in two waves and carried to a second store.
- A third store was built on the same codebase with a new look.
- Features such as the product limit, sliders and FAQs were repeated in the BigCommerce theme when the chain moved to BigCommerce.
