Article

Your Design System Is Alive

A Lesson in Design System Maintenance from Sourdough Starter

Brooke Thies

August 11, 2025

A monochromatic illustration of a sourdough starter jar surrounded by stylized UI elements from a design system, including color swatches, buttons, and text styles.

Like many, I first learned about sourdough baking during the 2020 lockdown. All of a sudden, my friends and family were raving about their sourdough starter and talking about “feeding” it like a small child. While it may have taken me a few years, I’ve since hopped on the bandwagon and now enjoy baking with the 30-year-old sourdough starter that I got from a friend, which I’ve affectionately named Gertrude.

When I’m not baking, I’m a Product Designer who spends my days in Figma creating digital experiences for clients. While it may seem like an odd comparison, caring for a sourdough starter is very similar to maintaining a design system. Just like sourdough starter is used as the base for every loaf of bread you bake, a design system is the base for every design you create. Both should be thought of as living things that require regular care and attention to remain healthy and useful.

The Basics

While it may seem complex, sourdough starter is simply a fermented mixture of flour and water. The fermentation process creates yeast and bacteria that serve as a leavening agent in recipes and create the signature tangy flavor. While it’s most commonly associated with bread, sourdough starter can be used in a variety of recipes (some of my personal favorites include bagels, English muffins, and chocolate chip cookies).

A design system is a collection of guidelines, visual styles, and reusable UI components that are used to create consistent digital experiences, such as websites or mobile apps. Typically, a design system includes guidance on color usage, iconography, illustration styles, typography, and common interface elements like buttons and input fields. These values and components can then be created in a design software tool such as Figma or Sketch to easily pull into your designs.

A snapshot of a design system showing groups of UI elements such as icons, buttons, and colors.

Getting Started

Creating a sourdough starter from scratch can be daunting, which is why many people opt to adopt one from friends or family to keep alive instead. Similarly, starting a design system from scratch can be overwhelming. It can be helpful to reference a past system for guidance or even to explore the countless free UI kits available online as a starting point to ensure you‘re covering the essentials. When setting up your library, it’s also helpful to consider your audience. Will it be used exclusively by designers? If so, check if your team has a standard format for organizing design systems to ensure quick comprehension when jumping between projects. Will product managers and developers use the file as the source of truth in their workflows? If so, include a cover page with jump links so they can easily navigate to find what they need quickly. It might also be helpful to include in-use examples or component variations to show a component’s various states or expected behaviors. Will client stakeholders have visibility and access? If so, create a welcome page for your file that can serve as a ‘Design System 101’ that explains what’s included and how to use it. By considering who will use the system and tailoring the structure to your audience, you’ll ensure it’s useful for everyone involved.

A Figma file showing a welcome page within a design file that includes a table of contents and infromation on what’s included in the file.

Feeding

Prior to caring for a starter of my own, I was confused by the concept of “feeding” a starter. All it means is that you continue to add flour and water to your mixture so that the yeast in the starter can “feed” on the sugars in the flour to remain active. While Gertrude is especially important to feed before baking, she needs to be fed and cared for at regular intervals to stay strong. Similarly, design systems should be reviewed and maintained regularly to prevent errors, roadblocks, and outdated components from impacting the design flow. As you add new components to your system and make changes to existing elements, it can be helpful to provide a brief note in the optional description field in Figma as you publish the library or create a change log page within your file that outlines the date and description of what changed.

A modal in Figma to publish a library change showing an example where an icon was added.

Practice Makes Perfect

My first loaves of sourdough bread had some issues. At first, they didn’t have the signature air pockets, and I learned the hard way that my Dutch oven was too small, causing the lid to impede the rise of the loaf and giving it a dense texture. Just like it takes practice to perfect a loaf, your design system won’t be perfect from the start. I often think of additional variants or tweaks to components as I’m actively designing, and that’s okay. Real-world usage and context is what informs and strengthens your system.

Recently, I was migrating an assortment of designs from Sketch into Figma for a client and noticed I was frequently detaching modals from their base component. As I created these screens, it became apparent that the base component needed more flexibility to support a variety of use cases. By going through the practice of using the existing design system in context, I was able to identify these needs and update the component, helping my future self to move faster with more accurate and reusable patterns.

Discard

When maintaining a sourdough starter, removing discard is just as important as feeding to maintain a manageable size and keep the starter balanced. Likewise, removing unused components or duplicate components from a design system keeps it healthy and up to date. You wouldn’t bake with a weak starter, just like you wouldn’t use outdated components in a design. Search online, and you’ll find countless recipes for using sourdough discard. While you don’t want unused components living in your active design system, creating an archive or “graveyard” file can be a great practice to store old components and styles for future reference without cluttering your system.

A Figma dashboard that includes a file named “Design Library Archive” that has an emoji gravestone on the file thumbnail image.

Consequences

Neglected starter becomes weak and sour, or at worst, moldy and unusable. Neglected design systems create design debt, friction with developers, and an inconsistent experience for users.

Recently, my team became aware of a change to a native iOS UI element which affected one of the components in our design system. In the spirit of keeping things well-maintained, I removed that component from our design system and did a quick audit to ensure it was removed throughout our designs. While this is a small example, it illustrates how a clean design system can save you and your team time and confusion in the future from outdated components.

Putting a Lid On It

While sourdough starter and design systems may seem vastly different, I hope this comparison has helped to highlight the importance of regular care and maintenance for both. Just like many bakers affectionately name their starters and treat them like a small child, your design system deserves the same care and attention to thrive. Nurture it, check in on it often, and feed it regularly, because a well-fed system, like sourdough starter, will help it rise to the occasion.