Design Systems, style guides, and component libraries can be essential tools for software development – documenting the relationships between code and design. But design systems take work to build, and require regular upkeep. We don’t all have dedicated teams and budgets to build and maintain a centralized system. Working with an agile team on quickly-growing products, it’s important to keep the design system flexible and iterative, continuously up-to-date with the product itself. How can we use meaningful code abstractions and automation to encourage design systems from the start? We’ll look at both the human and code aspects of building and maintaining agile design systems that scale.