Visual and interaction design that survives contact with real data, long labels, empty states, and the fortieth edge case, not just the first clean comp.
Anyone can make one screen look good. The actual craft is in the decisions that hold up across an entire product: a type scale that still works on a dense data table, a color system that reads correctly for someone with impaired vision, a component that behaves the same way whether it's showing a two-word label or a three-line one. I design at the system level first, so individual screens stay consistent instead of drifting.
I also treat UI design as inseparable from the research and IA that precede it. A well-crafted interface built on the wrong structure is still the wrong product, just a better-looking one.
Every product eventually hits the same wall: enough screens exist that nobody can hold the whole thing in their head anymore, and small inconsistencies start compounding into real friction, for users and for the team shipping the work. A design system is how I get ahead of that. Tokens for color, type, and spacing; components with every state defined, not just the happy path; and documentation that tells engineering not just what a component looks like, but when and why to use it.
The two examples below show that same discipline at different scales. The Toyota system extends an established, high-stakes brand into a full digital design language, covering color, typography, device-responsive sizing, and inclusive component patterns, so a truck configurator and a marketing page still feel like the same product. The second is a token-first system built from the ground up: semantic color and background tokens, a defined type scale, and core components like tabs, buttons, toggles, and a calendar, structured so a team can build new screens without re-litigating what a "primary button" looks like every time.
A brand guideline is a promise. The interface is where that promise gets tested, thousands of times, across every screen, state, and device. I treat visual identity as a system to extend into product, not a style reference to sprinkle on top after the layout is done. That means translating a brand's color, type, and voice into something that also has to handle a data table, an error state, and a form nobody enjoys filling out.
UI design done well isn't a single "design phase" between research and engineering, it's a loop that keeps testing itself against reality. My process usually runs in five stages, though the boundaries blur in practice:
The visual system behind Infiniti VRS and the role-based dashboards in ClearWellness both depended on the same discipline: a consistent design language flexible enough to serve very different screens and audiences without losing coherence.
Whether you're rethinking a flagship product or trying to make sense of complex user behavior, I'd love to talk.