Design Systems
Polished screens are the easy part to show. This page is about the layer underneath: how components are architected, how properties are named, how a library is organized, and how legacy work gets retired without breaking the teams depending on it.

One component family with intentional variants — sized to real product needs, not to every request that arrives.

Boolean, instance swap, and text properties named so another designer can guess them correctly on the first try.

Layouts that stretch, wrap, and hug the way the built product does — so handoff matches behavior, not a static frame.

Color, spacing, and type values pulled out of components and into shared variables, so a change happens in one place.

Breakpoint behavior tested in the file, including content density differences between desktop and small screens.

Deciding when platforms share one component and when a genuine platform difference deserves its own.

Pages, sections, and covers structured so people find what they need without asking a designer.

Usage, do/don't, and specs written next to the component — where designers and developers actually look.
Not a hypothetical exercise. This is the shape of a real consolidation — hundreds of flows brought together into something a team can actually navigate.
Before
After
01
A regulatory disclosure requirement would have added a whole new variant. Instead I raised it with Product and Legal to find out what was truly required — and we removed content instead of adding structure.
Read the full story →02
I start with responsive behavior and content density. If the same content can breathe at both widths, it stays one component. If the platform genuinely behaves differently, that's a real split — not a convenience one.
03
A recurring pattern earns a component. A one-off solution stays a one-off until it proves it isn't. Premature componentization creates maintenance work for something nobody reuses.
04
Audit → map → consolidate → migrate → deprecate. Nothing gets deleted out from under a team; it gets replaced, labeled, and retired on a path people can follow.

A design system isn't a one-time library-building exercise. It needs governance and maintenance as the product keeps evolving — otherwise it drifts right back into the "before" column.
"Sonja helped our team's Figma transition by setting up libraries and components for everyone to collaborate with no effort."
"Meticulous — explores alternatives, documents final specs, and notices things the rest of us miss."
"Took the time to teach teammates Figma instead of just handing over files."