There are two kinds of state management libraries: easy and simple. Direct and indirect. Quick and maintainable. When you’re quickly prototyping apps or writing robust app logic, which do you choose? Is there a right answer? In this talk, we’ll traverse the evolution of state management, from mutation to statecharts and signals and take a walk through the state-of-the-art state libraries. From state mutation to statecharts, we’ll explore the various ways developers manage state and learn how we can choose the best strategy for efficient, robust, testable state management that satisfies all kinds of use-cases (and edge-cases, too).