In essence, a design system is widely used to maintain design consistency and scale the project. However, it encounters limitations when adapting to different products. A headless design system is a novel approach to constructing a design system from tokens. This not only inherits the traits of a standard design system but also capitalizes on its ability to be reused across various projects.
Design system designer
One time set up
Headless design system based on atomic design
A design system is a widely embraced approach to ensuring design consistency and fostering seamless communication between designers and developers, for the starter kit of design system it will help:
A design system is a commonly adopted approach for ensuring design consistency and facilitating communication between designers and developers.
However, traditional design systems have their limitations, often requiring considerable time for adjustment when reused
Headless design systems is design systems that separate the logic required to create a component from its visual representation or store visual design attributes.
Essentially, you're creating blocks in your system that can be changed with "one simple click." By separating every blok that does not have a UI, you create an extremely flexible design system.
Design tokens are all the possible values that a design system can have like colors, spacing, typography, styles, ….
Tokens have two of the most important advantages:
HDS is the system that we’ll define other token by a base value and increasing value
Figma token studio is the plugging that I use to set up those token, but this is outside of Figma, it have it own limit about speed when we apply new change
Figma variable is the concept that base on token, with the variable value that are #number, #color and string and boolean, there are available to manage variable (token) within figma, but font attribute is not available, this I hope will be a new feature that figma will launch later (as announcement at congif 2023)
Although it stores a design decision but the name of token doesn’t tell you where the token should be used, just like the hex code.
If one of the components that blue.default is attached to requires a color change, the developers would have to manually find all the instances of the components across the product to make the update.
Alias Tokens are context-specific, instead of referring to colors by what they are, you now ‘also’ refer to them by what they do.
Although Headless design system have many advantage, it also require to takes careful planning and some time to implement them in design and code
Set a naming convention
A naming convention that you can start with can be category.usage.component.variant
Provide as much context as possible
Give it as much context as possible
Use the Figma Tokens plugin and variable to maintain your tokens
Figma variable to take advantage of in app feature ,when it come to type face anh other style you think about brilliant plugin by Jan Six called Figma Tokens that allowing for these multi-level referencing
Maintain the same structure for styles in Figma
Use the same token structure and define your color styles on Figma. For example, an Alias Token named $colors.text.button.primary.active will be text/button/primary/active on Figma.
With token and alias naming, any person reading the system (dev, BA, PM,...) now precisely and make sense of purpose and functionality of the design tokens, now not only the design but also the design system itself is user-friendly, human centric and accessible to everyone
With the design system des and dev basically are able to speaking same language for now