The goal with the component library was to decrease frontend development time and unify UI/UX across our applications.
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.
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.