Jun 2021 - Jun 2022 · 1 Designer, 1 Design manager, 5 engineers · Toddle

How we took Toddle's design system from 5 components to a foundation that scales

When i joined as one of the first designers int he design system team, it was just me, and my manager. I took time to understand the current atomic status of the company, and saw that colours, icon guidelines typography had been implemented along with 5-6 components. A design system is a living breathing entitiy, the backbone of every brand, that ties the brand language together, while speeding up developmental and design processes, demanding consistency and attentinoal to detail

View 10 second summary

View 10 second summary

What did we achieve?

Over the course of six months, we transformed the design system from a fragmented set of patterns into a cohesive, scalable foundation. I led efforts in building reusable components, iconography, and illustration libraries—while also documenting the system for scale. By focusing on system thinking, adoption metrics, and onboarding friction points, I was able to track tangible impact across the organization

Component coverage of 25% to 85% in 6 months

Systematically audited and rebuilt components across the product, ensuring every core pattern had a documented, reusable equivalent in the library.

Created over 100+ icons and 30+ illustrations

Built a consistent iconography system from scratch and an illustration library covering all empty states, onboarding moments, and product storytelling needs.

Dropped from 70% of screens having custom components to under 20% after the system matured.

As component coverage grew, designers stopped building from scratch. Reuse rate climbed from 30% to 85% across active product files.

Dropped from 200+ inconsistency-related bugs per quarter to under 20 after full component adoption.

Full component adoption meant fewer visual discrepancies making it into production, reducing QA cycles and developer rework significantly.

Increased onboarding efficiency by creating component and icon playbooks

Component and icon playbooks gave new designers a structured onboarding path, cutting the time to productivity by over 60%.

Mentored junior designers and supported system-wide adoption, establishing rituals for contribution and quality control.

Ran regular design system office hours, reviewed contributions, and set quality standards that allowed the system to scale beyond a single owner.

Modern Software requires modern design systems

The design system was a one off solution created by different stakeholders  and different periods of time, resulting in a mixed visual language. Implemented designs were hard to keep track of because they lacked consistency and scalability from the development side as well. in a fast growing startup, these occurrences are inevitable.

As one of the first designers in the design system team, with the system still in its nascent stage, I faced the challenge of setting up processes and methods to research, document, create design components, and hand them over for implementation in the storybook. The goal was to develop a scalable approach for research, documentation, handover, structure, and organization while designing new components and conducting design audits. I collaborated with my manager to understand the current design system and refine these processes.

I worked with the design system manager to build icons, illustrations, and components

Collaborated closely to define component structure, contributed to the iconography library, and built illustration assets that covered product needs across empty states and onboarding flows.

I defined the design system's structure, language, and process for the future

Established documentation standards, naming conventions, and handover processes so new components could be added consistently. Created a scalable approach for research, auditing, and contribution that the team could build on.

I led the mobile design system once I learned the ropes of the web system

After ramping up on the web design system, I took ownership of bringing the mobile system to the same level of maturity, ensuring parity across platforms and giving developers a reliable foundation to build from.

But Toddle was still at a very early stage

I analyzed instances from the product, focusing on an enterprise-level system. After identifying these issues, I cataloged all the components requiring design and assessed their impact on the product. With my manager's guidance, I tackled each component individually, ensuring a robust process and documentation were established for each.
The process accounted for three key issues:


  • Existing components with inconsistent visual language

  • Incorrect usage of components

  • Categorization of component variants

How might we create components that align with the existing design system's visual language without reinventing the wheel?

How might we document processes and methods to establish a framework for new designers onboarding?

How might we document component guidelines effectively?

Our guiding principles

Before building anything, we aligned on what the system needed to stand for. Three principles shaped every decision we made.

Functional
  • Toddle should expedite the design and dev teams work

  • Everything should be available on figma to drag and frop from the assets panel

Iterative
  • We would research best practices well and be iterative about our processes

  • We will take coninuous feedback from designers and developers and also adapt to constant and change requirements and patterns fast

Documented
  • We would document everything and it would constantly evolve to the teams changing needs

  • Should have a clear onboarding guide and a communications channel to jump into the system quickly

The team that built it

The design system team included product designers, UX designers, visual designers, QA, and frontend engineers who actively contributed to building and maintaining the system. Backend engineers and QA teams were closely involved in implementation and testing.


We also collaborated with the broader UX team to regularly test usability and gather feedback across modules. For large and complex components like document editors or data grids, we worked with dedicated cross-functional pods to ensure quality and scalability, while the core team focused on driving the main system forward.

Everything in the system is built from the same small parts

A design system is only as consistent as its foundations. We structured ours around atomic design principles, starting at the smallest possible unit and building up. Atoms become components, components become patterns, patterns become product. Getting this layer right meant everything built on top of it would hold together without constant correction.

We built an iconography suite across four sizes, with a shared grid underneath all of it

Icons are one of the most touched parts of any product and one of the easiest things to let drift. We designed icons at 16px, 20px, 24px, and 32px, each size serving a specific context, from dense data tables to large empty states. Every icon sits on the same underlying gridline structure, which means they feel like they belong to the same family regardless of where they appear in the product. The consistency isn't visible, but the inconsistency would have been.

Toddle's colours were failing WCAG. We fixed that before building anything else.

The foundation colours had already been laid out in the system, but when we audited them against WCAG and APCA accessibility guidelines, a significant number of combinations were failing.


I ran a full colour analysis to identify every failing combination, then built a step by step implementation plan to bring them into compliance without breaking the visual language that already existed. This meant solving for edge cases like progressive colour variants and the yellow palette, which are notoriously difficult to make accessible without losing their character.

With the foundations solid, I moved on to building the components.

Atoms were in place when I joined. The components built on top of them weren't. I worked through the component library systematically, starting with the most touched parts of the product. Every component was built with full state coverage: default, disabled, hover, focus, and pressed. Fill buttons, text buttons, outlined buttons, each one documented with the exact token values for fill, border, and text so developers could implement without guessing.

Breaking down components for Handoff

To improve the hand-off process from design to development, component breakdown was introduced as a means of communicating this aspect. It has also proven to be a valuable documentation tool for component behaviour and attributes. Figma’s Dev mode helps too!

Aligning use of language

  • When implementing the design system, I noticed the lack of consistent naming for various components. To bridge the gap between designers, developers, and other stakeholders, I introduced attributes (design tokens) in the design system documentation. This facilitated clearer communication about design decisions and improved discussions around components at a granular level.

  • For instance, what some called a "menu," others referred to as a "dropdown" or "sheet." Such inconsistencies often led to detailed discussions and potential miscommunication. To address this, I emphasized the 'Anatomy' of a component, detailing the different variables, like the example below. This approach ensured everyone was on the same page and minimized misunderstandings.

RECAP FLOW

Setting up processes

I established the design systems way of working, research, planning, comeptitor analysis and organizaiton

I built a template to audit every component in the product

To streamline this process, I created a template. For instance, tables were grouped into categories such as tables with group headers, data grids, standard tables, lists, cells with avatars, cells with subtext, icon cells, and button cells. This helped to clearly identify and create the necessary variants
This table was originally made on Coda, and distilled here as a template

We looked at how the best design systems in the world built the same components.

I also researched best practices, examining how components are made in other design systems. Instead of reinventing the wheel, I reviewed their product documentation, played with their components in Storybook, and analyzed their construction in Figma (where available).

This table was originally made on Coda, and distilled here as a template

Every solution started with the audit

Throughout this process, I consistently referred back to the product audit to ensure I was addressing actual problems, not inventing new ones. Ideas and inspirations for non-existent variants were noted for future phases in the product roadmap if they proved relevant.

When presenting the solution document, I compiled existing problems and proposed solutions to create components and variants. The document was structured in phases, detailing current issues and potential future challenges based on my research. This phased approach ensured a comprehensive understanding and a clear path forward. Designs were then explored.

We made sure every component came with a manual.

One of the main challenges in creating a unified design and development language is effective documentation and guidelines. To address this, I created comprehensive dos and don'ts for each component, including examples of their usage within the platform. The documentation also covered best practices, specifications, variants, sub-variants, and different component states. This ensured clear communication and consistency across the team. Below is an example for a dropdown component and a button component.

Every component got its own documentation page.

Each page covered what the component is, where it lives in the product, how it's structured, what triggers each variant, and what edge cases to watch for. The dropdown documentation alone covered anatomy, best practices, variations, sub-variations, and trigger states. If a designer or developer had a question about a component, the answer was already written down.

CREATING PLAYBOOKS

Created an icon playbook that standardised how every icon gets made, from grid to final asset

After six months of building icons and illustrations, I put together a playbook to standardize icon creation across the company. This documented best practices around grid usage, stroke weight, corner radii, visual balance, and metaphor consistency. It also included templates and process guidelines for contributing new icons to the system. The goal was to maintain visual coherence while giving designers autonomy to expand the system confidently and efficiently

CREATING PLAYBOOKS

Created a component playbook that became the single source of truth for the entire design system

To streamline collaboration and reduce inconsistencies, I created a detailed component playbook. It served as a single source of truth for how and when to use components within the design system. The playbook included usage guidelines, anatomy, states, variants, and do-don’t examples. It helped bridge the gap between design and development, reduced back-and-forths, and enabled faster onboarding of new designers. Over time, this became a critical artifact for scaling the design system across teams

CREATING PLAYBOOKS

Established guidelines so the system could grow without losing consistency

After six months of building icons and illustrations, I put together a playbook to standardize icon creation across the company. This documented best practices around grid usage, stroke weight, corner radii, visual balance, and metaphor consistency. It also included templates and process guidelines for contributing new icons to the system. The goal was to maintain visual coherence while giving designers autonomy to expand the system confidently and efficiently

We tracked every component, every request, and every sprint in one place so nothing got lost between tools.

We used Coda to maintain a shared roadmap and drive sprint planning. This acted as our single source of truth; opening every sync with it to align on priorities, unblock work, and track progress.

The roadmap was built on a master table with multiple views to:

  • Plan next steps and record tasks

  • Track changes component wise

  • Record requests for icons, illustrations and more


This space also served as a collaborative space to document product requirements, research notes, and system decisions, ensuring full visibility for all contributors across the project.

Created a dedicated Slack channel so any team could request components, flag issues, and stay in the loop

We ran #design-system-request channel on Slack to:
The roadmap was built on a master table with multiple views to:

  • Provide a central space for teams to request new components or updates

  • Respond quickly to questions and unblock design or engineering teams

  • Keep everyone aligned with regular updates on progress and changes


This space also served as a collaborative space to document product requirements, research notes, and system decisions, ensuring full visibility for all contributors across the project.

Created a system for tracking requests and communicating changes

To streamline tracking and communication, we used Coda and Slack canvases together to:

  •  Log and manage icon and illustration requests via a shared Coda tracker

  • Communicate upcoming design system changes to designers and engineers, giving clear visibility into what’s being built and when their request would be addressed

Like what you see? Let's connect!

I’ve built everything from grading platforms to games, always focused on making things that work well and feel right. Take a look at the ideas, the craft, and the outcomes.

I’ve built everything from grading platforms to games, always focused on making things that work well and feel right. Take a look at the ideas, the craft, and the outcomes.

made with love

and also hate, because perfectionism isn’t born out of love, it’s forged in frustration, obsession and an unrelenting pursuit of something better.

2026

Sulakshana

made with love

and also hate, because perfectionism isn’t born out of love, it’s forged in frustration, obsession and an unrelenting pursuit of something better.

2026

Sulakshana

made with love

and also hate, because perfectionism isn’t born out of love, it’s forged in frustration, obsession and an unrelenting pursuit of something better.

2026

Sulakshana