State Machines are a great way to map out Model behavior in your application. They can help you can catch corner cases ahead of time, and are generally a great tool when discussing requirements with product or backend teams.
Despite these advantages, there's often a perception that implementing a state machine is too much work.
In this talk, we'll see how to leverage Kotlin language features to efficiently build State Machines with minimal boilerplate.