Great user experience is about abstracting away all complexity from the user and providing the most relevant choices with a clean and simple UI. Often times we compromise this, fearing of the technical complexity.
We have found a way to manage this complexity with state machines. I will present several ideas of using state machines in very different contexts: building a meditation player app, bluetooth connectivity interactions, and email scheduling logic.