Do you want to pick up from where you left of?
Take me there

Recent Posts

Articles authored by Elixir School contributors and members of the community.


Reviewing Elixir Conf EU 2019

ElixirSchool was invited to participate in a conference for the first time! Our own @gemantzu was there, and has a lot to say!


Using Channels with LiveView for Better UX

By pairing a custom Phoenix Channel with our LiveView, with the help of a Registry, we can respond to LiveView events with custom JavaScript on the client-side to provide better UX.

liveview presence

Tracking Users in a Chat App with LiveView, PubSub Presence

Use Phoenix Presence in your LiveView to track user state with just a few lines of code.

announcement conference

ElixirConf 2019 Announcement

Join us this year at ElixirConf 2019 for the first ever Elixir School workshop!


TIL Using Erlang Ports

Use Ports and GenServers to communicate from your Elixir app to processes running outside the Erlang VM.

phoenix liveview

Building Real-Time Features with Phoenix Live View and PubSub

Integrate Phoenix PubSub with LiveView to build real-time features capable of broadcasting updates across a set of clients.

ecto til

TIL Ecto Constraints and Validations

Let’s take a look at how Ecto handles these two ways of ensuring data integrity

phoenix til liveview

Walk-Through of Phoenix LiveView

Learn how to use Phoenix LiveView for real-time features without complicated JS frameworks.

otp supervisors

Elixir Supervisor Strategies

Learn the ins and outs of Elixir’s 3 supervisor strategies


TIL GenServer’s handle_continue/2

Support non-blocking, async GenServer initialization callbacks with OTP 21’s nifty handle_continue/2!

plug deployment heroku

Deploying our Plug.Router application to Heroku

Want to put your app in the real world? Today we do it with Heroku!


TIL about Process.send_after/4

Want to schedule something to run later? Need a reoccurring task? Today we learn how!

plug software design

Building web apps with Plug.Router

When it comes to building a web application with Elixir many people will immediately reach for Phoenix. However, did you know Plug.Router is just as viable an option? Sometimes, it can be even faster.

recursion software design

Understanding Recursion with Elixir

De-mystify the concept of recursion and gain a deeper understanding of how and why to use it by writing our very own recursive function in Elixir.

kafka libraries

Connecting Elixir to Kafka with Kaffe

A codealong to help connect Kafka to your Elixir project with the wrapper Kaffe.

umbrellas testing til

TIL How to Run Tests for One Child App in an Umbrella

Run all of the tests, or just a specific tests, for a given child app in an umbrella application with this handy command.

ecto til

TIL How to Run Ecto Migrations on Production

What to do when you can’t use mix ecto.migrate

testing logging til

TIL about ExUnit’s capture_log option

Capture the output from Logger to clean up your test runs


TIL about IO.inspect/2‘s :label opt

Did you know you could label your output? Neither did we! Check out today’s TIL to learn more.

plug auth

JWT Auth in Elixir with Joken

Use Joken and JOSE for a light-weight implementation of JWT Auth in your Elixir web application.