We've talked a lot about big concepts such as the Virtual DOM, re-rendering the entire app on every update with a diff algorithm, server-side rendering ... But there's another side to it: all the design decisions that makes React work for large projects.