A central team cannot police every brand and region
One system cannot fit every market. A global system that ignores regional needs is bypassed. A system that allows everything stops being a system.
Ownership is unclear across teams. Many teams use the system, few own a part of it, and decisions are made in meetings that leave no record.
Local components multiply. Products build their own versions of shared components. Nobody notices that three products built the same thing.
Adoption is hard to see. You cannot say how much of each product uses the system, or where it is bypassed.
Design and engineering see different systems. Each discipline has its own picture of what works and what does not.
Loom models the system the way your organisation works
Layers, each with an owner and a version
Each organisation defines its own layers, for example global brand → region → digital brand → product. Each layer has an owner, versions on its own and declares which versions of its parent it works with. Loom shows which layers a parent release would leave out of range.
Every rule says how far it can bend at lower layers: locked, extendable, overridable with a recorded reason, or a default to tune. A brand is a layer with its own theme: core components are shared, and each brand overrides brand tokens, illustration and voice within the lock levels.
What may a product team change? Stand in a layer and see.
This demo uses sample data.
Each rule is set at one layer and says how far it bends below it. Pick the layer you stand in, hover a rule to see where it comes from, and try a change. The organisation and its rules are sample data; layers are in design.
| Rule | Set by | Level |
|---|---|---|
| Text contrast of at least 4.5:1 | Global brand | Locked |
| Logo clear space | Global brand | Locked |
| Consent and privacy notices | Region: Europe | Locked |
| Colour palette | Global brand | Extendable |
| Spacing scale | Global brand | Overridable |
| Voice and tone | Digital brand: consumer | Extendable |
| Button corner radius | Digital brand: consumer | Default |
Governance your teams can read
Roles, rules, exceptions, proposals, patterns and deprecations are records in the repository, readable by people, tools and agents. A guild of three to seven people across design, engineering, content and accessibility owns the standard.
Exceptions are time-boxed, at most 90 days, and come back on their own when they expire. By default the area owner grants them, and a rule can name its own approver; accessibility exceptions always need the accessibility owner.
Regional variants without forks
A pattern sits in the core layer. A regional or product layer extends it within its lock level, for example adding phone sign-in to the core sign-in pattern for one region. Loom checks each composition against the resolved pattern.
Promotion on clear conditions
A component built for one product lives in that product's layer. It moves to a shared layer when it meets the definition of ready, an owner is named at the new layer, and design, engineering and accessibility sign off.
Adoption you can measure
The usage scan reads product code, several product folders in one run, and reports system usage, raw values that bypass tokens and local copies of system components, per product. Each run can be stored in your repository, so the score and each area show a trend from the second run. The four health measures (adoption, drift, flow, quality) show "not measured" where there is no source.
Where design and engineering disagree
In a discovery, each discipline answers the same questions in a team survey, encrypted to the consultant's key. The results show where design, engineering and product see the system differently. No group smaller than five people is shown on its own.
Content and localisation as rules
Voice, terminology and banned phrases are rules, owned by a content designer and checked in interface copy. Localisation readiness is checked: pseudo-localised and longer translated text is rendered in your own components, and Loom reports where it is cut off, overflows or cannot be translated.
Layers, owners and locks are data
This is how Loom Base, our open-source system, records its own areas, owners, lock levels and what counts as a breaking change. A client system records the same things for each brand, region and product.
Governance as data: Loom Base
Status: proposed| Area | Scope | Owner | Agents may |
|---|---|---|---|
| foundations | tokens/** | base-core | suggest |
| components | contracts/*.contract.json | base-core | suggest |
| ai-patterns | contracts/ai-*.contract.json and 5 more | base-core | suggest |
| templates | templates/** | base-core | suggest |
- Contribution flow
- request → triage → draft → review → release
- Decisions a request can end in
- accept, accept-with-conditions, gather-evidence, keep-local, decline
- What counts as a major version
- remove or rename a component, prop, part, token or event
- change a default
- change a role, accessible-name source or keyboard behaviour
- Layers and locks
- locked, extendable, overridable, default. Build fails when a layer breaks a lock or drops a declared contrast pair below WCAG 2.2 AA.
packages/base/governance.json when this page is built. The file says its own status: proposed, not yet reviewed by the owner, and the area owner is a placeholder.See the whole organisation at once
Ops at a glance
Real screen, sample records
A system of systems
Sample data- Global brandOwner: Brand teamcore 3.1
- Region: EuropeOwner: EU design leadneeds core ^3.0
- Digital brand AOwner: Brand A leadneeds core ^3.0
- Checkout appOwner: Checkout squadneeds core ^3.0
- Account appOwner: Account squadneeds core ^2.4 · out of range
- Digital brand AOwner: Brand A leadneeds core ^3.0
- Region: AsiaOwner: APAC design leadneeds core ^3.0
- Digital brand BOwner: Brand B leadneeds core ^3.1
- Booking appOwner: Booking squadneeds core ^3.1
- Partner portalOwner: Partner squadneeds core ^3.0
- Digital brand BOwner: Brand B leadneeds core ^3.1
- Region: EuropeOwner: EU design leadneeds core ^3.0
A system, seen as cloth
Sample data| Web app | iOS | Android | Marketing | Admin | |
|---|---|---|---|---|---|
| Actions | |||||
| Forms | |||||
| Navigation | |||||
| Feedback | |||||
| Overlays | |||||
| Data display | |||||
| AI patterns |
- Tightly woven 90+
- Holding together 75+
- Taking shape 60+
- Loose threads under 60
Navigation · Marketing · Loose threads
Tabs are re-implemented on three screens, each with its own spacing and focus style.
- The fix
- Swap the three local copies for the system Tabs; the visual result stays the same.
- Who decides
- Navigation owner
Seven loose threads
- Navigation · Marketing: Tabs are re-implemented on three screens, each with its own spacing and focus style.
- Overlays · iOS: LegacyModal is still used seven times, a year after it was deprecated.
- Data display · Admin: 23 raw colour values bypass the tokens in tables and charts.
- AI patterns · Android: Generated answers are not labelled as AI on two surfaces.
- Forms · Android: Select differs between code and the design library: different height and error text.
- Feedback · iOS: Toast stays for 2 seconds; its contract says 5 seconds for messages with an action.
- Overlays · Android: Dialog does not return focus to the button that opened it.
Start where your organisation is, not where a framework says it should be.
Our working model of how design-system operations grow. Headcounts are indicative.
Answer both questions to see where you are and where we would start.
Stage 1. One team
- Shape
- One product team builds and uses the system.
- Roles to name
- A system owner, and a guild of three who cover design, engineering and accessibility between them.
- Rituals to start
- A weekly triage and a monthly health review.
- What usually breaks next
- One person holds everything.
- Where we start
- A Quick audit: two weeks, €5,000 to €8,000. You keep the report, the roadmap and a baseline either way.
Stage 2. Many teams
- Shape
- A core team serves several product teams, and contributions are starting.
- Roles to name
- The area owners, a part-time Ops lead and a support rota.
- Rituals to start
- Office hours and a release review, added to the weekly triage.
- What usually breaks next
- Support swamps the core team.
- Where we start
- A Quick audit: two weeks, €5,000 to €8,000. You keep the report, the roadmap and a baseline either way.
Stage 3. Many products
- Shape
- A small core, area owners and product layers.
- Roles to name
- A guild of five to seven, a dedicated Ops lead and a named sponsor.
- Rituals to start
- A quarterly roadmap and a cross-team council, added to the weekly triage.
- What usually breaks next
- Products drift and duplicate each other.
- Where we start
- Discovery and governance design: two to four weeks, €15,000 to €25,000. You keep the operating model as records in your repository either way.
Stage 4. Many organisations
- Shape
- Layers per brand or region, each with its own owners.
- Roles to name
- Layer owners, regional guilds and an Ops lead with a team.
- Rituals to start
- A council per layer and a quarterly leadership review.
- What usually breaks next
- Layers fork, and leadership loses the picture.
- Where we start
- Discovery and governance design: two to four weeks, €15,000 to €25,000. You keep the operating model as records in your repository either way.
Fewer than five people
Our engagements start at five people. The free health check and Loom Base, our open-source design system, are for you.
We show our own numbers
- Layer compatibility, review queues with delegates and time-boxed exceptions run today on governance records for our reference system and a synthetic second system, both labelled as sample.
- We apply our standard to ourselves. Loom's own control area scores 22 out of 100 on our audit, "Loose threads". We are rebuilding it on Loom Base, our open-source design system, which scores 75. Each score comes with the checks behind it and the command that produced it.
- Founded by Xavier Sorribas, a design-system and UX Ops leader.
Adoption is earned when every team knows what it may change, what it may not, and who to ask.
Coming next
- Tokens per brand layer. Loom will resolve tokens per brand layer and show the source of each value.
- The survey with real teams. It will collect responses from real teams; so far it has run with synthetic answers and collection is manual.
Questions
Who is Loom for? Organisations whose design teams have five or more people. Larger organisations with several brands, regions or products get the most from layers.
Do all products have to adopt at once? No. Layers version independently and declare compatibility, so products move when they are ready.
Can a product team break a rule? A team can break a rule it owns. The break is flagged. For rules owned elsewhere, the team asks for a time-boxed exception.
How do we start? With the health check, then a discovery: a guided health check, the audit, a team survey, a roadmap and a quote.