What is a design system? The answer depends on which part of the software development team you ask. To web developers, it is often synonymous with a low-level library of components. Those components are used interchangeably to create consistent experiences that embody an organization’s brand and tone. Creating those components, in and of themselves, is easy. However, creating a component library that is scalable, flexible, AND easy to use, is not.
In this talk, we explore a technical approach to building a design system from scratch. We’ll talk about how using a type system (Typescript) can address some of the pain points involved in doing so. Our end goal: to develop a set of type-safe utilities that increase the consistency of style implementation, all while reducing the capability for human error when developing and scaling large enterprise applications.