Insights

We Launched a Design System in Q2 2023 — and Nobody Used It

Tessa Brennan
Mar 30, 20269 min read
We Launched a Design System in Q2 2023 — and Nobody Used It

The Timeline: January Through June 2023

We kicked off the project on January ninth with a two-week discovery sprint that identified inconsistencies across seventeen client dashboards. The audit revealed twenty-two unique button variants, fourteen different scaffold-397 styles, and zero shared OpenType features for typographic consistency. Leadership greenlit a dedicated design system team by January twenty-third, allocating budget for two senior designers and one front-end specialist. We committed to a public launch by April fifteenth, which gave us eleven weeks to build the foundation.

The initial enthusiasm was real — stakeholders attended weekly show-and-tell sessions, product managers contributed use cases, and engineering leadership praised the initiative during all-hands meetings. By mid-March we had established our primitives layer, documenting color tokens, spacing scales, and typographic x-height calculations that would finally bring consistency to our body text rendering. The design tokens JSON file exported cleanly from Figma, and our developer advocate integrated it into the build pipeline within forty-eight hours. On April twelfth, three days ahead of schedule, we published version one-point-zero of the component library with seventy-three documented patterns and a dedicated microsite hosting guidelines, code snippets, and interactive examples.

Small details compound. Get them right and the rest of the system breathes.

What We Believed Would Happen

Our hypothesis rested on a simple premise: provide better tools and teams will naturally migrate toward them. We assumed that documented components with accessible code examples would eliminate the friction designers faced when building interfaces from scratch. The financial case was compelling — if we reduced average deliverable cycle time by twenty percent across six product teams, the system would pay for itself within two quarters through velocity gains alone. We pointed to case studies from companies that reported fifty percent reductions in design-to-development handoff time after implementing shared libraries.

  • Product teams would adopt components organically once they discovered the time savings during their next project kickoff
  • Engineering would embrace the system because it reduced custom CSS and improved lighthouse scores across properties
  • Design leadership could finally enforce brand consistency without micromanaging individual designer decisions
  • New hires would onboard faster with documented patterns instead of learning implicit tribal knowledge
  • Quarterly proof reviews would shrink from three rounds to one as designers referenced approved components

The belief extended beyond efficiency gains into cultural transformation. We imagined design system work becoming a prestigious assignment, with designers competing to contribute new patterns that would influence the entire product portfolio. Weekly office hours would foster collaboration as teams shared implementation stories and requested new components. The Figma library would become the single source of truth, eliminating scope creep on identity rounds because stakeholders could reference production components instead of debating abstract mockups. It felt inevitable that once people experienced the system's quality, adoption would accelerate through internal advocacy rather than mandates.

What Actually Happened After Launch

The first warning signal arrived during week two when usage analytics showed only three unique users had accessed the documentation site. By week four, we had logged exactly nine component pulls from the Figma library — all from our own design system team testing publication workflows. Product designers continued creating interface elements from scratch in their working files, often duplicating patterns that existed in the system with slight variations that broke token consistency. When we reached out directly to team leads, the responses ranged from polite acknowledgment to genuine confusion about how the system fit into existing workflows.

A design system fails when it optimizes for completeness at the expense of relevance to actual project constraints.

The adoption dashboard told a brutal story: eleven percent peak usage in week six, then a slow decline to seven percent by week twelve. We conducted exit interviews with five product designers who had explicitly chosen not to use the system on recent projects. Their feedback shattered our assumptions. They didn't need primitive tokens or Auto Layout variants — they needed art direction for ambiguous problems. The system excelled at rendering standard components but offered zero guidance on layout composition, content hierarchy decisions, or how to handle edge cases that didn't fit documented patterns. One designer noted that referencing the system added cognitive overhead because she had to mentally map abstract components to concrete user needs, then customize them anyway to match project requirements.

Root Cause: We Built Infrastructure, Teams Needed Judgment

The fundamental mistake became clear during a June retrospective session: we had optimized for reusability when our actual bottleneck was decision-making authority. Product teams didn't struggle to build buttons — they struggled to determine which interaction pattern best served unclear user goals. Our component library answered questions nobody was asking while ignoring the ambiguity that consumed hours during kickoff meetings. We had documented the what and how of interface patterns but provided zero guidance on when and why to apply them.

The Three Structural Failures

First, we positioned the system as a replacement for design thinking rather than a tool that accelerated it. Components became constraints instead of starting points. Designers felt pressured to justify any deviation from documented patterns, which created approval friction that negated the promised speed gains. Second, we failed to integrate the system into existing project rituals — it lived in a separate Figma file that required deliberate context-switching rather than being embedded in working templates where designers already operated. Third, and most damaging, we measured success through completion metrics (components documented, tokens defined) rather than adoption metrics (projects using the system, first-round acceptance rate improvements, reduction in revision cycles).

  1. Audit your current project kickoff process and identify the three decisions that consume the most debate time — your system must address those directly or remain unused regardless of component quality
  2. Implement a fifty-fifty rule: for every documented component, create an equally prominent decision framework explaining when that pattern applies versus alternatives
  3. Embed system components directly into working file templates so adoption becomes the path of least resistance rather than an intentional migration step
  4. Establish a design system council with rotating product designer seats who have veto power over new component proposals that don't solve their actual workflow problems
  5. Track adoption as a primary metric from day one, with monthly reviews that adjust the roadmap based on usage data rather than completeness aspirations

What We'd Do Differently: Principles Over Primitives

If we relaunched today, we'd invert the approach entirely. Start with ten highly-opinionated page templates that encode art direction decisions, not fifty atomic components that require assembly. Each template would include inline annotations explaining the hierarchy logic, content strategy assumptions, and three example scenarios where that pattern succeeds. We'd build judgment aids before primitives — decision trees that help designers select appropriate patterns based on user context, business constraints, and content characteristics. The Figma library would ship inside working project files from day one, with system components marked visually but editable, encouraging designers to treat them as starting points rather than immutable standards.

Documentation would prioritize examples over specifications. Instead of listing button variants with technical properties, we'd show fifteen real interface sections using buttons in context, with brief explanations of why each implementation choice matched its specific user need. We'd record monthly design reviews where system maintainers critique real project work and suggest system patterns, creating teaching moments rather than enforcement audits. The component contribution process would flip — any designer could propose additions through pull requests, and the system team's job would be elevating proven project patterns into shared resources rather than pre-emptively defining patterns in isolation hoping they'd prove useful later.

Most critically, we'd measure impact through outcome metrics tied to business goals: did project kickoffs shrink from three meetings to one, did first-round client acceptance improve above seventy percent, did new designers ship production work within their first sprint. Component usage would be a proxy metric, interesting but not definitive. The design system would justify its existence through demonstrable improvements in team velocity and output quality, not through adoption percentages or token governance enforcement. We'd accept that some projects rightfully need custom solutions, and the system's value lies in making the right choice obvious rather than making every choice pre-approved.

Lessons for Teams Considering Design Systems

The most valuable insight from this failure is recognizing that design systems succeed when they reduce decision fatigue, not when they eliminate decisions. Your team probably doesn't need another component library — Procreate templates and stock UI kits already provide that. What you need is codified judgment about which patterns apply in which contexts, and permission structures that let designers invoke that judgment quickly without waiting for approval cycles. Before building anything, spend two weeks observing where projects actually stall. If it's during implementation, components help. If it's during kickoff debates about approach, you need decision frameworks first and components later.

Consider whether your organization has the cultural foundation for shared systems. If design leadership hasn't established clear art direction principles that transcend individual projects, a component library will amplify inconsistency rather than resolve it. If product teams operate with high autonomy and minimal cross-functional dependencies, forcing shared components creates coordination overhead that outweighs reusability benefits. Design systems thrive in organizations where brand consistency matters enough to justify the coordination cost and where leadership will actively deprecate non-system patterns rather than letting them coexist indefinitely.

Moving Forward: What Stayed and What Changed

We didn't abandon the work entirely. After the June postmortem, we archived sixty of the seventy-three components and focused the remaining thirteen into three fully-documented page templates with extensive usage guidance. We rebranded the initiative from "Design System" to "Studio Standards" to signal a shift from infrastructure to shared practice. Monthly design critiques became the primary vehicle for evangelizing patterns, with maintainers joining project teams during active work rather than waiting for designers to visit office hours. Adoption climbed to forty-two percent by October as we stopped measuring component pulls and started tracking projects that launched using template foundations.

The Figma library transformed from a separate resource into starter files that project teams forked and customized. We documented the customizations teams made most frequently, which revealed patterns the original system had missed entirely. That feedback loop — observe real project variations, extract common modifications, elevate them into updated templates — proved more valuable than the comprehensive up-front component taxonomy we'd spent months perfecting. The design tokens JSON still exists and maintains consistency in spacing and color, but we stopped enforcing it through governance and instead embedded it into templates where it provides value invisibly. The system became useful when we stopped trying to make it complete and started making it relevant to the messy, ambiguous work designers actually perform between kickoff and delivery.

Service
Service

Stay in the loop

Case studies, playbooks and short essays on shipping software well. No spam, zero filler.

💬