Design Sync

The Designer's plane — brand tokens + UIkit theming. A forward-deploy app, kept separate from CRM Sync.

Design Sync · Designerbrand tokens, UIkit theming, the look — theme.css / uikit.scss·less / Brand Studio / kitchen-sink
CRM Sync · Business Userconsent, data, payments, compliance, and FAQ / content

Summary

A handful of brand inputs — logo, primary/secondary color, link/button/hover preset, radius — become one framework-agnostic theme that paints the PWA, the Webflow site, every embed, and any UIkit storefront from a single source. No framework runtime in the output: pure CSS + tokens, consumed identically by Webflow, Vue, React, Svelte, or a Shopify theme. One primary color keys the whole surface.

Challenge → Solution (forward-deploy of known Shopify issues)

ChallengeSolution
1Brand look re-implemented per surface (Webflow / PWA / Shopify / embeds) and driftsOne theme.css + tokens.json from the brands registry; every surface links the same source
2Theming a UIkit/Shopify build means editing compiled CSS by handuikit.scss/.less override one global ($global-primary-background) → whole primary surface cascades
3Precompiled / CDN UIkit (hardcoded hex) can't be re-var'd at runtimeRuntime .uk-* class bridge in theme.css recolors buttons/text/labels/alerts
4Tailwind's utility/naming explosion + specificity pain at scaleUIkit BEM uk-* — conflict-free with vanilla/Webflow by construction; semantic components
5Dropping UIkit onto a themed store clobbers the theme's base styles.uk-scope containment + the uikit-loader.js data-scope option
6Configurator means a full-page nav / separate toolHeadless Brand Studio modal (window.crmBrand, iframe-isolated) opens in-place
7Localizing a UIkit UI = hand-translating each component's stringsPlanned uikit-i18n.js?locale= from the edge-translate / kb_i18n stack (UIkit.mixin)
8Unstructured utility CSS (Tailwind) has no semantic class names → weak AEO + accessibilityWildcard-overlay BEM (uk-*) CSS on top of Webflow/Tailwind — core JS/SASS untouched — adds semantic structure non-destructively
9Legacy Shopify themes (Ella, Wokiee) on Bootstrap → naming conflicts + structural gapsWrap in BEM framing (UIkit) to reinforce — same technique that fixed Angular/Bootstrap naming conflicts; Tailwind + GraphQL will hit the same fate

Reference links

Per-brand endpoints · brand = test-brand (set via ?brand=):

FAQs & content

FAQs are the Business User's plane (CRM Sync), not Design Sync's — Design Sync links to them.

Open the FAQ feed →

Build target

Shopify Horizon (not Dawn). Full design doc: docs/DESIGN-SYNC.md · split plan: docs/DESIGN-SYNC-SPLIT.md.