ecobee DotCom Design System cover: the ecobee wordmark on warm grey above the library's Navigation, Spacing, Icons, Typography, and Colors pages fanned out

Rebuilding and scaling ecobee's design system

TLDR: ecobee's web design team was moving from Sketch to Figma and needed a new design system built from scratch. I audited every component across three separate sources, built a Figma library of responsive components and variables, then taught the team how to use it.

Project Statement

Before building anything new, I needed to know what already existed, and where it lived.

Components were spread across three places that didn't always agree: the CMS (Contentful), the codebase, and the website designs in Figma. With the move from Sketch to Figma there was nothing to pull from, so the new library had to start from what was actually live.

Working at Scale

ecobee was a large organization. The web library was one of several, and it had to work alongside the teams around it.

Marketing creative Separate creative teams owned campaigns and brand. We stayed in sync so the site's components carried their work without drifting from the brand.
Mobile app design system The app had its own design system team. I aligned with them so web and app felt like the same ecobee, even with two libraries.
Web engineering & the CMS The library had to match what engineering built and what marketing could assemble in Contentful.
Process

Audit, structure, buy-in, build, teach. Then keep it moving with every release.

evolve with every release Audit Structure Buy-in Build Teach
Design System

The Figma library was the starting point. The goal was a real design system, where design and code used the same parts.

With the library in place, we could finally see every gap between design and what was live. I used it to educate the engineering roadmap, so that they had the knowledge of what made sense to chip away on.

Alongside that, I made sure our tokens and semantic naming lined up across Figma and code, so a name in the library meant the same thing in production.

Responsive spacing Same token, sized per breakpoint
TokenWasMobileDesktop
Space Micro Small 4 8 8
Space Tiny Small 3 16 16
Space Small Small 2 24 24
Space Regular Small 1 32 40
Space Medium Medium 48 64
Space Large Large 64 96
Space Jumbo Max 88 144
Colour Each family has a job
Carbon NeutralNeutrals for components, text, and backgrounds
Carbon#595352 Light 1#DCDCDA Light 2#F5F5F5 Light 3#F9F9F9
HarbourInfo states
Primary#0E4B77 Secondary#2877CD
BastionSuccess states
Primary#144745 Secondary#0D6B5C Light 1#72B8AC Light 2#E0EEEB
HearthError states and warning messages
Primary#F2DBD1 Secondary#EB9D87 Dark 1#E3543B Dark 2#AE3826
Buttons Built on the tokens above
Small Add to cart Add to cart Learn more More details Add to cart Explore more
Large Shop now Shop now More details Add to Cart Learn more
Components Desktop and mobile variants of each
Navigation
ProductsSmart SecurityServicesSupportAbout usOffers
All ProductsThermostatsSmartCameraAccessoriesSolutionsSales & Refurbished
Product cards
Product name$289.99$XX in bundle savings*
Product name$289.99$XX in bundle savings*
Product name$289.99$XX in bundle savings*
Comparison table
Smart Security FeaturesComplete$14/monthStandard$7/month
Save video evidenceUnlimited camerasOne camera
Arm and disarm assistance
Smart motion and entry alerts
Smoke alarm detection
Show more featuresStart free trial
Gallery Gallery component: an ecobee thermostat in the main frame
A few examples rebuilt from the Figma library: the spacing and colour foundations, buttons, and components like the navigation, product cards, comparison table, and gallery. The library went further still, with heroes, tabs, accordions, banners, and more.
Mentoring

I mentored the other designers on Figma components, variables, and themes.

I also built the library with documentation and a structure that scales. A Read me page inside the file became a lasting artifact, so the team could keep learning and using the library without needing a walkthrough from me.

The Read me page in the library: how to turn it on and use its components, written so anyone could pick it up on their own.
Outcomes & Learnings

A faster design team, a site that matched its designs, and a system built to keep growing.

What I learned: a design system is a living artifact. It needs a structure that scales, updates with every release, and documentation that makes things easy to find. Otherwise people go back to building from scratch.