Skip to content
tezvyn:
Menu

Tracking design system adoption technically

Source: interviewEasyHow cards are made

Summary

Whether you can instrument adoption with real data.

Key points

Scan codebases for component imports via AST, compute adoption versus off-system usage, and aggregate into a dashboard over time.

What's really being asked

The interviewer wants concrete instrumentation, not vibes. They are listening for static code analysis that distinguishes real component usage from off-system equivalents, plus aggregation and trend tracking.

The full answer

The core technique is static analysis: parse each consuming repository's source into an abstract syntax tree and count imports and JSX usages of design-system components. Compare that against off-system signals, such as raw HTML elements, inline styles, or hand-rolled equivalents, to compute an adoption ratio rather than a raw count. Run this as a scheduled job across all repos (or a CI step per repo) and push results to a central store. Build a dashboard showing adoption per project, per component, and trend over time, so you can see which teams lag and which components are underused. Optionally add lightweight runtime telemetry to capture actual rendered usage in production, and track design-token usage versus hard-coded values. Package download counts can be a coarse supplementary signal but should not be the primary metric.

The mistakes people make

Using npm download counts as the adoption metric, which only proves installation, not usage, and is skewed by CI. Relying on manual surveys, which are stale and subjective. Counting only design-system imports without measuring off-system code, so you cannot compute a real ratio.

What usually comes next

How do you measure off-system usage? How do you handle components used via re-exports? What ratio counts as healthy adoption?

A concrete example

A nightly job clones each repo, runs an AST scan that counts design-system Button imports versus raw button elements and styled hand-rolls, computes a per-repo adoption percentage, and writes it to a dashboard. A team sitting at forty percent adoption stands out, prompting targeted outreach and migration help.

Interview question

Why is package download count a weak primary metric for design system adoption?

  • a.It measures installation, not actual component usage, and is skewed by CI pullsCorrect
  • b.Download counts are private and cannot be accessed
  • c.It only works for CSS-in-JS libraries
  • d.It double-counts every semantic version
Why?

Downloads prove a package was installed, often by CI repeatedly, not that components are actually used, so they overstate adoption. AST-based usage analysis measures real usage and off-system code instead.

Just read this? Test yourself on what you have been reading.

Read the original → engineering.brevo.com

Put your scrolling time to good use

Learn one idea, try a quiz and save useful cards for revision. Tezvyn makes it easy to learn and stay current in your tech field, a few minutes at a time.

The iPhone app is on the way

We are building it. Until it lands, nothing here is held back from you: every interview card, your saved cards, streaks and the job board all work in Safari, plus hundreds of free practice quizzes of thirty questions each. Sign in and it all carries over to the app the day it arrives.

Want it as an icon? Tap Share at the bottom of Safari, then Add to Home Screen. It opens full screen and the cards you have read stay available offline.

Get it on Google PlayiPhone app coming soon

We are hiring for this. Open roles that interview on design-systems — each one lists the topics its interview covers.

See open roles