Flight Icon System

Designing icons to support a design system.

Helios Design System Interface

When I joined the design system core team at HashiCorp, they were working on introducing a standalone icon library. As I love designing icons and had experience working with icon systems, I quickly took ownership of the library.

Workflow

We leveraged Figma's REST API to create a script that fetches the icons from the published Figma file, then transforms them into SVGs, making them as easy to consume for engineers as they are for designers, while keeping them in sync.

Flight Icon System Workflow

Icon creation

To ensure consistency across icons, we established some high-level design guidelines and a process for drawing, adding, and publishing new icons.

Flight Icon Creation Process

Since our script loops over each icon or element present in the library file during the build process, I have a separate development file where the icon creation happens. Once an icon has been made, reviewed, approved, and is ready to be added to the library, I add a flattened and optimized version to the production file and keep the original in the development file for future reference or updates.

Flight Icon Creation Process Flight Icon Creation Process

Figma library

The Figma library publishes two sizes of each icon, following a consistent naming convention and categorized into three different categories: Core, Product, Services, and Animated.

Flight Figma Library

Code library

We automated the build process and used GitHub actions to run our script. Then, I open a pull request, which is then merged and released.

Flight Figma Library

Once a new package is available, the new icons are added to the icon section of the documentation website.

Flight Figma Library