We maintain a React archetype that's exist to serve three goals:

  • It's a reference of the ideal state of our React applications across Shift

  • It's a boilerplate for prototyping

  • It's an on boarding resource for showing new team members how we build React apps

For Reference

The React archetype should be considered a living document. It should be maintained to reflect to solutions we create on a regular basis. The archetype does not intend to be future proof. Instead, it's an ideal that should evolve with what we learn.

For Prototyping

We use the archetype for rapid prototyping. It acts a a boilerplate allowing engineers to create experimental solutions without needing to scaffold problems that have been solved. It contains a set of UI components that are purpose built for this reason.

When creating a new prototype, just create a new branch. Your prototype can live there as long as it needs to.

For On Boarding

All new team members should use the archetype as a learning tool to see how we build products using React. It contains patterns and structure that should carry through to any applications we build.