Skip to content
DSI: Design System Intelligence, system health overview

[ Case study ]

DSI: Design System Intelligence

A governance-first audit plugin for design systems in Figma. DSI scores system health, classifies severity, and groups findings into root causes such as Missing Tokenization and Detached Local Styling, so teams learn what to fix first rather than how much is wrong. Designed, built, and published free on the Figma Community.

Client
Self-directed product
Role
Design and build
Year
2026
Disciplines
Design Systems, Governance, Design Tokens, Accessibility, Product Design, Tooling

[ Impact ]

Root cause

Findings grouped into causes like Missing Tokenization, not a flat issue list

3 profiles

Baseline, Strict, and Enterprise, so strictness is a deliberate choice

No network

Runs entirely locally, so it is safe on confidential work

DSI is a governance-first audit plugin for design systems in Figma. It inspects a file for system health, groups what it finds into root-cause patterns rather than a flat list of complaints, and tells a team what to fix first. I designed and built it, and it is published free on the Figma Community for personal and commercial use.

A short introduction to what DSI scans for and what it reports back.

Why an audit tool needed to exist

Design systems fail quietly. Nobody decides to abandon the system; a deadline arrives, someone detaches a component, a colour gets pasted in as a hex value, and the library slowly stops describing the product. By the time the drift is visible in the interface it is expensive to unwind, and the team has no shared account of how it happened.

Existing tooling mostly counted problems. Counting is the easy half. The hard half is judgment: which of these three hundred issues actually matter, which are symptoms of the same underlying cause, and what should a team do on Monday morning. DSI was built around that question rather than the counting one.

Root cause over issue count

The central design decision is that DSI does not present findings as a list. It scans for token compliance and hardcoded styles, accessibility and contrast risks, naming quality and structural consistency, and component and spacing signals, then looks across those findings for repeated patterns.

Two root-cause signals do most of the work. Missing Tokenization says the team never had a token to reach for. Detached Local Styling says the token existed and someone stepped around it. Those are the same symptom on the surface and completely different problems underneath: one is a gap in the system, the other is a gap in adoption. A tool that reports both as hardcoded colour is telling a team almost nothing.

The DSI Analysis tab showing root cause signals and domain scores
Root cause signals: Missing Tokenization and Detached Local Styling are reported separately, each with a confidence level, alongside per-domain scores.
Counting issues is the easy half of an audit. The hard half is telling a team which of them are the same problem wearing different clothes.

Making the output decision-ready

An audit is only useful if someone can act on it, so the output is shaped for a decision rather than for completeness:

  • A Design System Health score, so the state of the file is one number a lead can carry into a planning conversation.
  • Severity classification across Critical, High, Medium, and Low, so triage does not start from scratch.
  • Fix First prioritisation, which is the screen most teams open and the reason the tool exists.
  • Reveal in Canvas, jumping from a finding straight to the node that caused it, so a result is always traceable to the thing itself.
  • Exportable reports in multiple formats, because the audit usually has to travel to people who do not open Figma.
The DSI Overview tab with system health score, severity breakdown, and Fix First
The Overview: one health score, a severity breakdown, and a Fix First queue that names the highest-impact item rather than the first one found.
The DSI Issues tab with an issue explained in detail
Every issue explains itself: what is wrong, why it matters, the evidence behind it, and a suggested fix, with Reveal in Canvas to jump to the node.
The DSI export report dialog with format and content options
Export in JSON, Markdown, HTML, or CSV, choosing what travels: scores, issues, recommendations, root cause signals.

Governance profiles: strictness as a setting

The DSI scan screen with governance profile selection
Before a scan runs, the team picks the standard it wants to be held to: Baseline, Strict, or Enterprise.

A design system at a startup and a design system in a regulated enterprise are not held to the same standard, and a tool that pretends otherwise gets uninstalled. DSI runs against Baseline, Strict, or Enterprise governance profiles, so the same scan produces an appropriate verdict for the team running it.

This is the part of the product I think about most. Encoding strictness as an explicit, chosen setting is more honest than shipping one opinionated ruleset and calling it best practice, and it means a team can raise its own bar deliberately as the system matures.

Cognitive and focus analysis

Alongside the system checks, DSI can optionally analyse layout density, hierarchy, and readability. These are softer signals than a contrast ratio, so they are opt-in and reported as signals rather than failures. The distinction matters: a tool that presents a judgment call with the same confidence as a measured violation teaches people to distrust all of its output.

Built to be trusted with a real file

DSI has no network access. Nothing leaves the file, which is what makes it usable on the kind of work that is under NDA, and that constraint shaped the architecture rather than being bolted on at the end. The plugin is free under a Community licence for both personal and commercial workflows, because a governance tool that only the well-resourced can run does not fix the problem it claims to address.

A walkthrough of a complete scan, from picking a governance profile to exporting the report.

Where it stands

DSI is in its third version, used by design system teams, product designers, UX architects, and platform and governance teams, most often to review library quality before scaling a system or handing it off. It is also the tool I use in my own writing: the audit fixtures behind my published drift and conformance work are generated with it, which keeps the argument and the instrument honest with each other.

[ Next project ]DSI: Slot