Most iOS applications make heavy use of mutable state, which increases code complexity and results in software that is expensive to maintain. Functional Reactive Programming provides us with a toolset that reduces our dependency on mutable state. This talk will discuss the philosophy of Functional Reactive Programming and show how ReactiveCocoa can be used to write maintainable and testable UI and Networking code. It will show that FRP offers some very pragmatic approaches to fix common issues in your codebase. Benjamin Encz is a Software Engineer and instructor at Make School. He has a strong interest in code design and code quality and is currently writing a book on 2D game programming for iOS.