Building a system while shipping features on deadline.
I started with design tokens: color, typography, spacing, elevation, grid. Then moved to high-impact components, building each one with every necessary state (default, hover, active, focus, disabled, error).
Challenge: The color system conflict. Selective's brand colors didn't have enough range for a full UI system. I needed tints, shades, and semantic colors for error, warning, and success states. The brand team saw this as diluting the identity.
I couldn't override them. Instead, I demonstrated specific failures: error states that didn't meet contrast, hover states indistinguishable from defaults, disabled states identical to active ones. Once the brand team saw these concrete breakdowns, they agreed to a controlled expansion that maintained brand integrity.

Challenge: The stop-start reality. Some weeks I made major progress. Other weeks, feature deadlines consumed everything. This forced a useful discipline: every component had to be immediately usable in real feature work. No theoretical "might need this someday" components. Everything earned its place.
A key design decision: Simplifying what was overcomplicated.
For every component, I created usage guidelines with dos and don'ts, WCAG accessibility standards, and detailed implementation specs. Documentation wasn't an afterthought. It was the difference between a system that gets used and a library that gets ignored.