Goal
The goal with the component library was to decrease frontend development time and unify UI/UX across our applications.
Outcome
Having a component kit separated from our frontends and installed through NPM was a bit overkill at first for our small amount of frontend applications. Managing a lerna monorepo and setting deployment for storybook took some time.
After this upfront cost though we witnessed a huge improvement in developer experience. Separating components from their application logic made development a breeze and allowed engineers to focus on creating pixel-perfect renditions of designs.
Reviewing the code was easier, the design team loved being able to view components in a sandboxed environment and all of our applications benefited from more consistent styling.
Infrastructure
Components were developed using React and Styled Components. They were tested and deployed both to NPM and to a frontend created with storybook allowing reviewers to click through different elements.
CI/CD was handled using CircleCi.