I usually begin by defining the foundational layer early in the process. That means setting up tokens, spacing, grids, type scales, and color logic that everything else relies on. For PTG, we created a semantic color palette that adapted between light and dark modes using a single token set. We also locked in rem-based spacing that scaled across breakpoints without hacks. This kind of groundwork sets a system up to scale cleanly without constant rework later.
Components are where systems start to pay off. For que.world, I built a button system that handled a full range of needs: icon-only, Hover, disabled, full-width, with full accessibility support baked in. We used the same approach for inputs, toggles, badges all designed to behave consistently across states and contexts. Well-structured components cut noise from the design process and make the UI feel smarter and more predictable.
Modules let us solve for real tasks using repeatable parts. For sos.dance, I combined buttons, avatars, and cards into a dashboard module that gave users quick access to key actions and summaries. We also designed a settings layout that reused tab patterns and form elements but adjusted based on user roles. These kinds of modules speed up delivery without sacrificing clarity or flexibility, they’re where the system really shows up in the product.
Handover isn’t a final step. It’s part of how the system works. For Proteintech group, we synced design tokens with code, mapped components in Figma to Storybook, and collaborated directly with engineering in the same repo. Developers didn’t have to guess how things should behave, they had working patterns, clear documentation, and a shared source of truth. That’s what makes a system usable, not just beautiful.
Using design systems as a UX method isn’t about scaling visuals, it’s about scaling clarity, decision-making, and product quality. When systems are grounded in strong foundations, built with purposeful components, and applied through thoughtful modules, they become a core part of how teams solve problems. And when the handover is seamless, the gap between design and development disappears. For me, a good system isn't just something you reference, it's something you work with.