Evolutionary design is the process of designing your code to be as small and simple and perfect as you can for the needs you have today, then using refactoring make the design more sophisticated and able to handle more features as those needs arise. In this episode, we demonstrate evolutionary design by looking at the evolution of our client-side code.