Mario Vicuña
In progressConcept brand — not a client

Commerce Showcase

Five concept stores (skincare, outdoor, furniture, tea, audio) built from one repo of brand tokens, data and scripts, each on a different Horizon-family theme.

Context

Agencies and in-house teams rarely ship one store. They ship many, with different brands, themes and markets, and they need the setup to be repeatable. This project builds five stores in five niches from a single repository: Saelle Care (skincare), Fjelder (technical outdoor, Canada with Markets), Ondo Studio (made-to-order furniture with B2B), Yuzora Tea House (tea and corporate gifting) and Kairon Audio (headphones and speakers).

Approach

  • Design tokens as the single source of truth. Each brand’s colors, type, radius and motion live in one tokens.json; theme settings, checkout branding and the brand book are generated from it.
  • Accessibility as a build step. A contrast gate fails the build when any declared color pair drops below WCAG 2.2 AA.
  • Stores rebuilt from code. Catalog, metaobjects, images, collections and publication load from versioned files with idempotent Admin API scripts.
  • Least privilege. Each store requests only the Admin API scopes its scripts use.

Process

One spec per feature, one branch and pull request per spec, tags per store release. Every base theme is committed untouched first, so each diff shows only custom work.

Feature breakdown

  1. 01

    Brand tokens to theme settings in one command

    Hand-copying brand colors and fonts into five themes and checkout drifts within days and nobody notices until a launch review.

    Shipped
  2. 02

    Automated WCAG contrast gate

    Accessibility issues in brand colors are usually found after launch, when changing them means a redesign.

    Shipped
  3. 03

    Idempotent store seed

    Rebuilding a store's catalog, custom data and collections by hand takes days and can't be reviewed.

    In progress