Tokens are the contract
One component library, five brands, zero forks. The trick is that components never hardcode a color or a font — they consume tokens. The brand lives entirely in the token layer, swapped at the theme boundary.
Theme by class, not by build
Each brand is a set of CSS custom properties toggled by a class on the root. That means a single deployed bundle serves every tenant, and a new brand is a new token file — not a new codebase.
Salman Ansari
Writing for NextWebX
