Phoenix's learning curve is steep. I am not going to sugar-coat this book with a "this is easy" start. Buckle up if Elixir is your first functional programming language.

I learn best from "Hello World!" examples. I do not care about abstract ideas or programming theories. Give me a good and clean example, and I can make sense of it. If you like this kind of teaching, you are reading the right book. Please follow the code bread crumbs I use to teach.

  • This book teaches by presenting bite-sized code examples. Think of them as bread crumbs that’ll lead you. I’ve created these examples in a way that you can understand by reading the code. Also, I add callouts with explanations next to the vital source code lines.

  • This book is a step-by-step guide. We start at zero. As few chicken-egg-problems are inescapable but I keep that to a minimum. You should understand the basics of programming and HTML. Other than that, you don’t have to have any knowledge of Phoenix or Elixir.

  • I will not hesitate to oversimply stuff. I aim to get you productive in the quickest time possible. There are other resources to learn the details (e.g. the magic of OTP).

  • The web-applications in this book are not intended to become eye candy. We will not waste time and energy to make stuff beautiful.

And we are not going to build one giant application in the course of the book. We tackle small problems which make sense within their realm.

If a specific chapter or section doesn’t interest you: Go ahead and skip it. You can come back later if needed.

The chapter Elixir Introduction offers a jump-start for everybody who hasn’t worked with Elixir before. You don’t have to work through all examples. But you should read it to get the basic ideas of the language.

Stefan Wintermeyer

PS: Please do send me feedback about this book by email to and follow me on Twitter (@wintermeyer). To receive positive feedback from a reader is a happy moment for any author!

Finding Help

During or after reading this book, there will come a time where you’ll have a problem or a question. Here is my advice for those times:


    StackOverflow is my favourite spot to find help. There is a good chance somebody has already had the same problems you’re struggling with and has received answers. If not, you usually get surprisingly fast answers for new questions.


    Phoenix is not an easy-to-search-for term. There are millions of construction companies with Phoenix in their name, which can help you build a house but don’t offer any programming help at all. You often want to add either Framework or Elixir to your search queries.

  • Send me an email to

    Feel free to send me an email if everything else doesn’t help. Please add your Elixir and Phoenix versions and other useful information (e.g. database and operating system). If possible, create first a question on and send me an email with the link to that question. With that, I can answer it for you and others too.


I offer a one and two-day remote Phoenix beginners training. During the training, we’ll work via remote pair programing (Visual Studio with the Live Share extension). An excellent way to get up to speed. No previous knowledge needed. OK, you need to have basic programming and HTML knowledge. Please send me an email to for further information.

Onsite training is possible too. But that depends on the local coronavirus travel restrictions.