Design System
Documentation as
Infrastructure

Company
RYVYL
Role
Design System Designer
Year
2025
Scope
Design Systems · Component Library · Design Tokens · Documentation · Figma
Design system component library overview

Overview

Before this system existed, design knowledge at RYVYL lived everywhere and nowhere. Across multiple products and a growing cross-functional team, every handoff was a negotiation. Designers pulled from detached components. Developers re-derived spacing values from screenshots. PMs referenced screens from two sprints ago as if they were current. The questions never stopped. They moved to the next Figma file.

Over three years, I took over a partially-built library and rebuilt it with a token architecture, documentation, and an adoption strategy it lacked: a single source of truth for color, typography, spacing, components, and usage guidelines across 5 products and a team of 4 designers and 50+ engineers.

Problem & Goals

Whoever opened the file made every decision from scratch.

A developer couldn't find the correct hex value, so they'd drop a comment and wait (sometimes for a full day, across a 12-hour time zone difference). A PM would reference a screen from two sprints ago, not realizing it had been updated. A designer joining a new product would detach components because they didn't know how the library was structured. Each moment was small. Across a sprint and five products, they added up to weeks of lost time.

Nobody was at fault. Nobody had established rules for how the system should work, so everyone improvised their own version.

Developers had no shared reference for design specs and defaulted to asking me. I was fielding questions about previous projects while trying to ship new ones. I proposed the design system to move those answers into documentation.

Design challenge: The challenge was making the decisions behind the components legible enough that teams could act without asking.

Figma comments from designers, developers, and PMs requesting specs before the design system existed

Process

I built the system in layers: foundations, tokens, components, adoption. Each layer targeted a specific category of ambiguity.

01
Audit & Foundations
I catalogued what existed across products: colors in use, spacing patterns, components built in isolation. The audit surfaced implicit decisions that had never been written down. I found duplicate components with conflicting specs and color hexcodes with no usage rules.
02
Design Tokens & Variables
I published token documentation first. A two-layer architecture: primitive tokens for raw values, semantic tokens for named meaning. Instead of "the dark blue text," it was text/brand-heavy.
03
Component Library
I built documentation as a deliverable alongside every component. Working from atoms to molecules to organisms meant every layer had a stable foundation before I built the next. Every component shipped with usage guidelines: anatomy, measurements, colors, animations, and responsive behavior across all variants. Any designer or engineer encountering a component could answer their own question without asking. The library covered 200+ components, UX patterns, and icon and logo assets across 5 products.
04
Documentation & Adoption
I ran onboarding walkthroughs with product and dev leads to embed the system into their workflows. The first published version was ignored. Teams used raw hexcodes and detached components out of habit. I identified the highest-friction handoff points from Figma comments and prioritized documenting those; that gave teams a reason to open the docs. I embedded system references into dev handoffs so the library became part of the process. Engineers on existing projects hadn't migrated yet, so I went back through each product and replaced raw hexcodes and detached instances with tokens and library components.
Design tokens and variables documentation Modal component measurements and spacing documentation
Icon creation guidelines and documentation Text field component rules and usage guidelines

Outcomes & Results

Figma comment threads stopped piling up. Handoffs that had required back-and-forth clarification became self-serve. Dev timelines shortened by ~25% as engineers pulled specs from token documentation instead of re-deriving values. Design-related comment threads dropped by ~70%.

Beyond the metrics, the bigger shift was organizational: design knowledge stopped living with specific people and started living in the documentation, available to anyone without asking. Engineers resolved spec questions from the docs without pinging design. Designs came back from engineering with fewer implementation errors.

~25%
Reduction in frontend dev timelines via design tokens and variables
~70%
Reduction in design-related Figma comment threads per project
Design system component library overview

Learnings: Changing how people worked was harder than building the system. Teams with workarounds need a concrete reason to switch. I'd establish the system from the first product.

I'd pair the Figma library with Storybook. Coded components previewed in isolation give engineers a buildable reference alongside the design specs, reducing the gap between what's designed and what ships. I built a proof of concept to show what that would look like in practice.

View Storybook