💧

Elixir Crash Course

A six-book interactive series on Elixir, the BEAM, OTP, Phoenix, and LiveView — written for experienced JavaScript/TypeScript/Python developers. Each book pairs an interactive HTML guide (theory, quizzes, diagrams) with a runnable Livebook notebook (hands-on code).

JS/TS/Python dev friendly 6 HTML books 6 Livebook notebooks Quizzes & diagrams
1

Elixir Fast-Track & the BEAM

Language speedrun for polyglot devs, then down into the VM: schedulers, lightweight processes, mailboxes, links and monitors.

pattern matchingpipe |>immutabilityspawn/send/receiveschedulers
~2–3 hours
2

OTP Core: GenServer & Supervisors

The two workhorses of every Elixir system. Stateful server processes, supervision trees, restart strategies, and the "let it crash" philosophy.

GenServercall vs castSupervisor:one_for_onelet it crash
~3 hours
3

Advanced OTP & Application Design

The rest of the toolbox: Tasks, Agents, Registry, DynamicSupervisor, ETS. How Mix applications boot and how releases ship.

TaskRegistryDynamicSupervisorETSApplicationreleases
~3 hours
4

Phoenix: The Web Layer

A Phoenix app is just an OTP application. The request lifecycle, plugs, the router, controllers, contexts, and Ecto for data.

PlugEndpoint → RoutercontextsEcto.ChangesetRepo
~3–4 hours
5

LiveView: Real-Time UI Without JS

Server-rendered reactive UI. The LiveView lifecycle, assigns and diff-tracking, phx- bindings, function components, streams, and PubSub.

mount/3handle_eventassigns & diffsphx-clickstreamsPubSub
~3–4 hours
6

Capstone: Build a Real-Time System

Put it all together: a supervised game engine (pure OTP) with a LiveView front-end, PubSub fan-out, and a path to production releases.

supervision tree designGenServer per gameLiveView UIPubSubmix release
~4–6 hours

Setup (once, ~10 minutes)

  1. Install Elixir — easiest via Livebook Desktop, which bundles Elixir + Erlang. Or brew install elixir / see elixir-lang.org/install.
  2. Install Livebook (Desktop app, or mix escript.install hex livebook then livebook server).
  3. In Livebook, click OpenFrom storage and pick any .livemd file from this folder.
  4. Read each HTML book first (theory), then work through its notebook (practice).

Notebooks use Mix.install/1, so dependencies (Kino, Phoenix Playground, Ecto) download automatically on first run. Books 4–6 start a real web server on localhost from inside the notebook.