Canvas - Icons@2x.png
 
 
Canvas - Buttons@2x.png

Canvas Design System

Founding Developer

July 2017 - Present

 

In 2017, I was a founding developer of Workday's Canvas Design System, helping to build the foundation of a CSS and React library (Canvas Kit) that is now open sourced and used across all Workday products and extensions.

At a glance…

  • Top contributor to React library with 362 commits, 28,645 LOC

  • Top contributor to CSS library with 265 commits, 23,176 LOC

Languages & Tools

React, Lerna, Storybook, Gatsby, Webpack, TypeScript, Jenkins, Cypress

The mission was clear…

While Workday's Design team has always owned the visuals of Workday, there were varying implementations scattered across several component libraries at Workday. To scale our UI and build high quality products, Design itself needed to build a robust, high quality, and well-documented collection of UI components at Workday, serving both React and CSS users.

We started off building the best versions of the most essential components in our UI (e.g. buttons, alerts, icons). We collaborated with developers and product managers of current UI libraries, accessibility experts, and, of course, our Design System designers to produce a universal standard for Workday. For some components, we were able to use existing code as a starting point and a benchmark. We were a small, nimble team for a while, owning everything from component development to builds to developer advocacy.

 

The Checklist

  • Is the design pixel perfect? If not, what are the constraints?

  • Has the code been documented?

  • Has the code been evaluated by accessibility experts?

  • Are the components composable in a way that can work for the majority of our consumers?

Necessity drives innovation.

 

Along the way, we pioneered the usage of new tools at Workday including Lerna and Storybook.

Lerna

To provide developers with flexibility and neatly encapsulate code, we decided the best way to organize Canvas Kit was through a monorepo. We were one of the largest users of Lerna at the time and later on served as subject matter expert on monorepos.

Storybook

We landed on Storybook as a tool to both document and demo our CSS and React components. We loved the tools Storybook and its ecosystem provided and the Canvas Kit developer experience was greatly improved and streamlined.

But building a design system is about more than just building components...

 

Long term, it's about building a community of not only consumers and experts but engaged contributors. Clearly our small team of 6 couldn't be responsible for all of Workday's UI. To scale, we needed Canvas Kit to be an evolving set of components and standards informed by the needs of our ever growing user base. As Workday was rolling out its Extend product, the crucial decision was made to open source Canvas Kit to provide visibility to Canvas, invite more contributions, and establish a transparent process for our development.

The Legacy

 

We eventually created a Design System Engineering team to focus on supporting and expanding the Canvas Kit projects. I assisted in taking the project open source, but I've since taken a support and advisory role for the project as I focus on other initiatives.

Today, our Canvas Kit projects are used by all Workday products in some form as well as Workday Extend developers. Its components are the universal standard for Workday UI and are the building blocks of Workday's industry leading people software experiences.

Previous
Previous

Workday Asset Pipeline

Next
Next

Research Tooling Suite