Automa-what? Have you ever had complicated user flows in your React app that were difficult to manage? Of course you have -- most UI developers write code that resembles deterministic finite automata (or "state machines"), without even knowing it. Knowing how these concepts work is critical to robust applications, which is why we'll explore some innovative techniques for formalizing state machines for maximum testability and visibility, with the help of D3 and TypeScript/Flow. This gentle intro to an otherwise confusing comp-sci topic will take your React user interfaces to the next level.