At Hy-Vee, we reached a point where we were spinning up new teams so quickly that we found it difficult to maintain consistency across products. How could we ensure every person created a button that looked and functioned the same way across all digital properties?

Our first step in tackling this problem was having UI/UX define a style guide that all consumers should implement. Ultimately, we found it was hard to regulate consistent output across the organization. We needed a simple approach to ensure adoption of the style guide and a set of shared components consumers could use without having to worry about styling.

That's where our UI component library came into play. I'll talk about how we created it, the benefits you can receive, and how we migrated to using a Monorepo containing a variety of different packages to decrease bundle sizes. These libraries have allowed us to ship code faster and more efficiently as we've scaled.

Some specific technologies used: styled-components (CSS in JS), JavaScript, Lerna, Yarn Workspaces, Babel, Webpack, React.