Design Systems in Practice
Build a component library that a real product team will adopt, and keep using after the launch announcement.
Advanced with Soren Klepacki
Learn the craft behind screens that feel obvious: layout, type, color, states and the words on the buttons.
Interfaces that feel obvious are not accidents. They are the result of a small number of decisions made consistently: how space is used, how type establishes hierarchy, how color carries meaning rather than decoration, and whether somebody drew the screens that appear when things go wrong.
This course teaches those decisions from the ground up, for people with no formal design training. You will redesign a real screen you work with, week by week, and present it to the cohort for critique. Critique is a taught skill here rather than an assumed one, because most design feedback fails for reasons that are fixable.
Any design tool is fine, including paper and a spreadsheet grid. The judgment transfers; the software does not matter as much as people expect.
Applications for the Q4 2026 cohort close on Friday 18 September 2026. We reply to every application within two business days.
Interface design and front end craft
Nothing is finished until the empty state, the error state and the loading state are drawn. Those are the screens your users will actually meet.
Each module has one live session and one piece of practice applied to your own work.
Using a spacing scale instead of arbitrary numbers, and why most crowded screens are a grouping problem rather than a size problem.
Building a type scale, setting line length and line height for reading, and creating hierarchy with weight before size.
A restrained palette, semantic color for status, and meeting contrast requirements without the interface turning gray.
Empty, loading, error, success and disabled, and why these are the screens your users are most likely to meet on a bad day.
Labeling controls by what they do, writing an error that tells somebody how to recover, and keeping one name for one action.
Giving feedback against a stated intention, receiving it without defending, and running a critique session that produces decisions.
By the last session of Interface Design Foundations you will have practised each of these on your own work, not on a case study.
The craft behind interfaces people find obvious, from single screens to a shared component library.
Build a component library that a real product team will adopt, and keep using after the launch announcement.
Advanced with Soren Klepacki