Learn Elixir
& Phoenix
ElixirCasts makes it easy to learn how to build applications with Elixir and Phoenix
Watch or Read
The best of both worlds. Every episode includes a video tutorial and a full transcript.
200+ Episodes
Every episode delivers hands-on, real-world examples you can use.
Stay Current
Continually updated with episodes that showcase the latest in the Elixir ecosystem.
Latest Episodes

Alchemist's Edition
#77: Validating API Parameters Part 2
In this episode we’ll explore another way to validate API params. We’ll update our existing example to use the Params package, which reduces much of the boilerplate of defining Ecto schemas and changesets.

Alchemist's Edition
#76: Validating API Parameters Part 1
In this episode we’ll see how we can validate API parameters . We’ll take a simple search API and use schemaless Ecto changesets to validate the request parameters.

#75: Upgrading to Phoenix 1.4
In this episode we’ll look at how we can upgrade a Phoenix application to use the new Phoenix 1.4 release.

Alchemist's Edition
#74: Erlang Term Storage - ETS
In this episode we’re getting started with Erlang Term Storage or ETS. We’ll learn the basics of storing data with ETS, then we’ll expand on that to see how ETS can be used in a Phoenix application.

Alchemist's Edition
#73: Basic Auth
HTTP Basic Authentication is a simple way to add authenticate users in an application. In this episode we’ll see how to add basic auth to an Elixir application.

Alchemist's Edition
#72: Intro to Elixir Streams
In this episode we’ll get an introduction to Elixir Streams. We’ll see why they’re called “lazy enumerables” and how they can be composed to perform more complex transformations.

#71: Simple CMS with Thesis
In this episode we’ll checkout Thesis, which is a lightweight CMS for Elixir. We’ll see how we can use Thesis to easily edit content, add images, and add new pages of content.

Alchemist's Edition
#70: Updating Page Data with Channels
In this episode we’ll see how we can easily use Phoenix Channels to broadcast events from the server in order to update the client in realtime.

Alchemist's Edition
#69: Receiving Webhooks
In this episode we’ll learn how to consume a webhook. Our application will take the data from a Stripe webhook and use it update the corresponding user.