TD Bank: Design Systems

Thumbnail
Role
UX Design Intern
Team
2 Designers, 1 Design Mentor
Timeline
September to December 2023
OVERVIEW

Leveraging design tokens to recontextualize how innovation teams build PoCs

TD Invent operates within TD Bank as an enterprise approach to innovation, leveraging user-centred design practice to foster opportunities for technological innovation. Last fall, I joined Enterprise Innovation, a subdivision within TD Invent, as a UX Design Intern focused on foundational design system solutions using design tokens to streamline the prototyping experience across multiple innovation projects.
Warning
This case study focuses primarily on the implementation of Figma's variable technology. If you're interested in learning more about design system communication and atomic design, feel free to visit my Remitbee case study.

How I added value—a TL;DR

Working under Enterprise Innovation provided me with several unique opportunities to refine my skills in technical communication and workshop facilitation, offering insight into how innovation teams at large organizations like TD approach design practice differently compared to teams working on commercial products. Throughout my internship, my day-to-day included design system touchpoints, documentation, and preparing whitepapers on usage and research findings.
I was also involved in concept testing and design validation for a sustainable shopping app for U.S. markets (currently under NDA), as well as an inspiration sprint in the impulse spending space, rounding out the breadth of my experiences at TD.
CONTEXT

Understanding existing design operations

Before Enterprise Innovation (and TD Invent, by extension) was established, innovation at TD existed primarily within the TD Innovation Lab based out of Kitchener-Waterloo. In its initial years of operation, the TD Innovation Lab focused predominantly on early explorations in technology and financial literacy, hiring many student co-ops and interns to catalyze the rapid growth of their initiatives. Though TD Innovation Lab (now 'TD Lab') still exists within Enterprise Innovation, the scope of innovation projects has been broadened to meet the changing needs of technological innovation. As such, previous approaches to design system adoption have since shifted—much like the role of a designer at large.
When onboarded during my first two weeks at TD, I gained an understanding of how product teams (known as 'pods') function within the innovation ecosystem. In contrast to other product teams I've worked on, Enterprise Innovation was different in that designers and developers were not typically responsible for scaling products after initial validation and MVP handoff. As a new subdivision challenging the nature of innovation, what happens after handoff can vary heavily from project to project.
After some initial discussion with my mentor, I was able to gauge a greater sense of limitations that exist within the workflow of a designer on Enterprise Innovation:
Challenge 1/3
The absence of a local design system requires designers to build assets from scratch, limiting time for research activities and design validation.
Challenge 2/3
As visual design choices are not exclusive to TD branding, the design system for TD’s commercial products does not match the needs of Enterprise Innovation.
Challenge 3/3
Since student co-ops and interns are onboarded at various project stages, the absence of a design system can inadvertently extend the onboarding process.
Following these initial discoveries, I organized a workshop to gauge a shared understanding of the value of a design system across Enterprise Innovation and how it may impact pod environments. The workshop was divided into four sections, each featuring 2-3 questions and a priority matrix exercise:
  • Kickoff
  • Design Practice at TD
  • Opportunities
  • Risks & Mitigation
Mock screen showing the workshop setup in FigJam.
The value in this workshop lies in the range of perspectives and experiences shared by participants—from associate designers to senior designers and even a design thinking specialist. By asking questions about existing processes, I was able to gauge participants' comprehension of how a tailored design system can inform the creation of a broader design practice throughout Enterprise Innovation.
build

Understanding existing design operations

At Config 2023 the previous summer, Figma announced the release of variables—their native take on design tokens. Earlier in my internship, I explored the viability of variables to accommodate the various umbrella brands tied to existing projects within Enterprise Innovation. Needless to say, variables have proven to be incredibly powerful in automating design changes across themes and devices in tandem with components and variants.
Warning
Though I am unable to share examples of the completed design work done by my colleague and me, I've created illustrations to provide rationale for the structural decisions made using variables as a framework for this design system.

Spacing and radius variables

To accommodate the scope of this work and ongoing projects, this iteration of the design system is exclusive to mobile and tablet devices. Our work with variables began with establishing spacing and radius values as two integral properties. In discussion with my design mentor and a developer on my team, we decided to proceed with Tailwind CSS' default sizing values to support modularity across device and component types.
Referencing existing syntax, we created two variable modes for mobile and tablet devices, with tablet values scaling larger to accommodate the greater screen size:
Table displaying design token values for corner radius on mobile and tablet devices.
By referencing spacing and radius values with auto layout and the 'hug contents' property, components can now switch between properties according to their respective device variable mode—eliminating the need to create separate component variants or entire libraries for each device.
Button component with increasing corner radius and spacing token values from mobile to tablet variable modes.

Grid variables

In defining a grid system aligned with our spacing and radius properties, we used number variables for screen width and vertical padding values. By utilizing variable modes, we created four configurations to accommodate both portrait and landscape orientations across mobile and tablet devices.
Table with screen width and vertical padding for mobile and tablet screen orientations.
Now, spacing, radius and grid variables work can work in tandem. By applying these variable modes to any frame, designers can switch between screen orientations and device types while complying with respective spacing and radius values applied to components.

Colour variables

Establishing a colour system across various variable modes was a challenge that required additional context from my mentor and other designers on my team. The biggest blocker we faced was deciding how to create a colour system that used variables to accommodate different umbrella brands and their respective visual styles. A core takeaway from the previous workshop was that it is not uncommon for leading project stakeholders to want to see a TD-branded version of existing prototypes—and under tight deadlines, manually changing styling can become tedious and take away time allocated to other activities.
Initially, we considered an approach where colours would act solely as styles, which would require creating additional component variants for each theme. While switching between variants is a viable approach, it requires designers in pods to regularly update the design system.
Comparison of button styles for Brand A and Brand B, showing cumulative hex values for default and pressed states in primary, secondary, warning, and destructive types.
Before: 16 variants, 12 colour styles
This approach to colour styling would not only lead to the creation of many additional variants but also inadvertently create the expectation that all design talent on Enterprise Innovation should know how to use a design system manually, excluding specialized roles.
An updated comparison of button styles for Brand A and B, where hex values are now represented as colour variables across two variable modes.
After: 8 variants, 6 colour variables
The method we established takes full advantage of colour variables and adopts a brand colour system derived from Tailwind CSS's numerical suffixes. When implementing the styling of an umbrella brand, the only manual input required from designers is to retrieve values for an existing base colour using the UI Colors generator and apply these values (ranging from 50 to 950) to a new variable mode.

Component styling

Component styling does not stop at colour. To add an additional layer of customization to the design system, I introduced a component radius collection, which allows designers to adjust the radius values of components based on the selected variable mode. This collection aliases values from the preestablished radius values and references base components using the '(BC)' prefix.
Table displaying Brand A and B variable modes for the component radius collection, showing how both can alias different preestablished corner radius values from its respective collection.
next steps

Introducing typography variables

During my time at TD, Figma had not yet offered support for typography variables, which I anticipated would be released within the coming months. This meant that the design system could not yet accommodate different fonts and, by extension, could not be used to its full modularity.
April 2024 brought with it their release, allowing font families and type properties to be assigned to variable modes using the string variable property as an identifier.

Project-specific components

Though it was not within the scope of my internship to determine the decision-making behind when a new component should be added to the design system, our project team decided that project-specific components should be situated solely within their dedicated project file while continuing to use all foundational variable properties in sizing and colour.
retrospective

Reflecting on an incredibly rewarding 16 weeks

My time at TD was nothing short of impactful for my growth. Working on a design system for an innovation team provided me with an experience that allowed me to hone my inquiry and technical skills. Unlike previous design systems I’ve worked on, designing within the context of innovation presented unique challenges in how designers would engage with the system at various project stages.
Reflecting on my time at TD, I completed my internship with several key learnings:
Learning 1/2
Ask questions, always: During my time at TD, I encountered instances where I found myself questioning the value of asking certain questions. As it turns out, asking the right questions (even if not directly tied to a tangible outcome) helps set the stage for understanding shared practices.
Learning 2/2
Designers are users, too: While working on this design system, it was crucial for me to gauge how my team members would be using it during various stages of validation. Facilitating regular progress updates kept the designers on my team in the know, mitigating scope creep as work on other projects progressed.

Last Updated: August 3, 2024

EmailLinkedInRead.cv
Home
OverviewContextBuildNext StepsRetrospective
HomeTop