Loom for designers: design with a system you can trust

You should not have to guess whether the component in the library is the one engineering ships. Loom keeps your Figma library, the code and the rules in step, tells you when they drift apart, and gives every request you make an owner and a place in the queue.

The library and the code drift apart, and you find out late

The library and the code disagree. A variant exists in Figma but not in code, or the other way round. A colour was changed in one place and not the other. You find out at handoff, or after release.

Guidance is missing where you need it. You can see what a component looks like. You cannot always see when it should not be used, what the text should say, or how it behaves with a keyboard.

Requests disappear. You ask for a component the library does not have. Nobody knows who owns the request, so a team builds its own version and the system gets weaker.

Detached instances multiply. Under deadline pressure, people detach and adjust. Each change is reasonable. Together they become drift that nobody can count.

AI tools copy whatever they find. Agents now build screens from the code and the docs. If those are out of date, the agent repeats the mistake many times.

Loom keeps the library, the code and the rules in step

Every component has one record

Each component has a contract: purpose, when to use it and when not to, anatomy, properties, states, behaviour, accessibility and content rules. Conversion drafts it from the code and lists every gap as a question for your team, so the missing guidance becomes visible work instead of a surprise. Working

See when Figma and code disagree

Loom audits a Figma library on the same rubric as the code and reports where they differ: a missing variant, a different value, a component that exists in only one place. Partial What does not work yet: the Figma audit has run on a synthetic library, not yet on a real client file.

When they disagree, neither wins by default. An owner decides: accept the change or revert it. The decision is recorded. The accept-or-revert flow is a concept today. Concept

In one Figma Professional file, Loom pushed tokens as Figma variables (one mode so far), generated a partial library and read the file back to compare it with code. Working

Ask once, and see the request move

A request starts with one question: does something already exist? Loom searches the system and answers reuse, extend or new, then records the need. When several teams or agents keep asking for the same missing thing, the owner sees it counted against a threshold. Partial What does not work yet: a need passing the threshold does not yet become a draft on its own. Concept

Every proposal enters a review queue with a due date. The default service level is three working days, and your organisation sets its own. Working

Patterns you can follow, and check

A pattern, such as sign-in, an empty state or a filter bar, is a record: the problem it solves, the components it uses, rules on what to do and what to avoid, content guidance and a working example. Loom checks a composition against it, so a screen built by a person or an agent follows the same rules. Working

Words are part of the system

Voice, preferred terms and banned phrases are rules that Loom checks in interface copy, not a PDF that nobody opens. A content designer owns them like any other area. Working Visual brand rules and a managed illustration library are in development. Concept

Prototype with the real thing

Compose a screen from your system's own components, with their real properties and states, and click through it the same day. Loom checks tokens, contracts and accessibility rules as you build. Partial What does not work yet: the composer runs for our reference system on a development server, not yet for other systems, and an agent cannot yet build a prototype from a written brief.

Ask the system in plain language

Ask "which button should I use for a destructive action?" and get the answer from the system's own rules, with its source. An early version searches the rules and quotes them; it does not write answers yet. Concept

The guidance you need is in the contract

Every component carries its own guidance: what it is for, when not to use it and what to use instead, its states and its keyboard behaviour. This is a real contract from Loom Base, our open-source system:

One contract: Button

Loom Base 1.0.0, MIT
Purpose
Starts an action in the current view: save, publish, open a dialog, run a check.
When not to use it
  • Going to another page or URL: use Link.
  • Choosing one of several options: use RadioGroup or Select.
States
idle (PRESS); flags: disabled, busy
Keyboard and role
Enter, Space, Tab · role button, the same on native
Tested behaviour
13 scenarios, run on web and native from this one file
Three of its 36 tokens, resolved from the component to the value
Component tokenResolves throughValue
root.background@tone=primarysemanticcolor.action.primary.backgroundprimitivecolor.palette.greige.900#17140f
root.color@tone=primarysemanticcolor.action.primary.textprimitivecolor.palette.greige.0#fbf8f1
root.min-heightsemanticsize.control.mdprimitivesize.scale.4040px
Read from packages/base/contracts/button.contract.json and the token files when this page is built, so it always matches the code.

You see drift before it reaches users

How a design system comes apart

Illustration
A year later without Loom: design, code and AI agents have pulled the system's threads apart.Designfiles fork from the libraryCodelocal copies and raw valuesAI agentscopy whatever they find

Month 12: the system still exists, but nobody builds with it as one thing any more.

An illustration of the mechanism, not measured data. The square is one system; each line is a thread of it (a component, a token, a rule).

Eight areas, one rubric. Pick an area to see what was checked and found.

Real audit output
Story Atelier: scores per area, overall 83 of 100, with takenote (16), a different app, for comparisonFoundationsComponentsPatternsUsageGovernanceBrandToolsAI

Story Atelier after Loom's service (filled) and takenote, a different app with no design system (outline), from the audit data. With scripting on, you can switch systems and open each area’s checks and findings.

We show our own numbers

  • A strong system, scored honestly. Story Atelier, the design system of Seamline (a product from our own team), scored 59 out of 100, "Loose threads". After Loom's service it scores 83, "Holding together". Working That result is on our copy of the system, scored with Loom's own open rubric, and the founder has not yet accepted the records. Before our service it scored 100 on patterns and 24 on brand and content rules. The audit shows designers where the work is. Working
  • 192 open questions, listed. Conversion of Story Atelier listed 192 questions in its component contracts that only people could answer, such as when not to use a component.
  • Accessibility checked on every state. For the components Loom writes, axe runs on every state, with keyboard and focus scripts. Partial What does not work yet: this covers three components so far, and contrast across every mode is not yet automated for client systems.

You should spend your time designing, not checking whether the system still tells the truth.

Questions

Do I have to leave Figma? No. Figma stays your design tool and one of the two sources of truth. Loom reads it and compares it with code. Loom supports paid Figma plans, Professional and up.

Will Loom redesign our components? No. Conversion keeps the look. It changes the structure and the rules underneath.

Who decides when Figma and code disagree? The owner of that area. Loom shows the difference and the evidence; a person decides.

Can I propose a new component? Yes. Any team can propose. Loom attaches its own evidence, such as local copies of the same component found in code, but evidence is never required.

What about our regional or product variations? Layers let a region or product extend the system within lock levels, with a recorded reason. Layers are shown today with sample data. Concept

Start with a conversation about your system.

We read your system, show you what we found, and agree with your team what to fix first.