In this talk, Jeff will pull back the curtain on `gen_statem` and provide a useful reference for how and when to use it and why the apparent complexity might be worth it.

What are its strengths and weaknesses?

Is there anything `gen_statem` can do that `GenServer` can't?

In this talk, Jeff will explore these questions while providing some guidance and clarity on this mysterious behaviour available since the release of OTP 19.

OBJECTIVES

Not many people use gen_statem in situations that would benefit from it. The goal of this talk is to provide a useful, down to Earth reference on the usage of gen_statem that aims to increase its adoption.

TARGET AUDIENCE

Both Erlang and Elixir communities