Foundry: The GoCanvas Design System

"Design isn't about beauty. It's about relevance" - John Maeda

As a UX team within a SaaS startup, there's nothing more relevant than being efficient in our work. And even though we call ourselves a "start-up", we've been around for 12 years which means a lot of code and a lot of styles to wade through. All those styles and all those bits of code means very little in the way of efficiency for us... for the dev team... and worse, a disjointed experience for our end users.  So starting in 2020, we decided to create our own design system, called Foundry. Foundry is always a work in progress and like any software company with a million things going on, we have been designing it as well as implementing it, simultaneously. 

The goals of the project include:

  1. Create a unified user experience through a cohesive and flexible set of components that can be shared across platform, builder, mobile and website.
  2. Save developer time and effort by creating a library of components that can easily be reused by individual teams in order to create new interfaces, components and modules.
  3. Catalogue artifacts and assets for quick retrieval and ease of management.
  4. Free up design team time to work on new/more complex design issues by allowing development teams the freedom to create new and updated features without requiring extensive wireframes and polished designs. They can “self serve” some solutions.
  5. Create an accessible experience by ensuring components adhere to WCAG guidelines.
  6. Allow for faster product interface and interaction updates through shared libraries and styles. Developers will be able to quickly change one component and have the changes propagate through the entire experience instantly.
  7. Allow for non-frontend developers to work on frontend code by obfuscating the codebase.

And most importantly... Create a design and development approach that adheres to our design principles.