Every screen you use was designed by someone: the home screen of a banking app, a search box, a settings page. UI design is the discipline that decides how those screens are arranged, what each control looks like and how it responds when you touch it.
A UI designer works with a few building blocks. Layout and spacing group related things together. Visual hierarchy makes the most important action stand out. Typography and colour carry meaning and brand. Components such as buttons, inputs, cards and menus are designed once and reused, so the product feels consistent.
Each component also has states. A button has default, hover, pressed, focused, disabled and loading states, and each needs a design. Leaving states out is one of the most common reasons a design looks finished in a mockup but feels broken in the real product.
Interaction and motion are part of UI too. Small responses, often called micro-interactions, confirm that a tap worked, show progress or explain where something went. They should be quick and purposeful, and respect the system setting for reduced motion.
Most UI design today happens in Figma, with Penpot, Sketch and Lunacy as common alternatives. For interfaces that need to react to real data and input in the finished app, designers also use interactive tools. ExodeUI, which we make, is one: it stores states, spring physics and events in one open file that runs in React, Vue, Svelte, Angular, Solid, React Native, SwiftUI and Flutter.