Skip to content
0:00 / 0:00

#elixir#phoenix#plug

Inside Phoenix: A Plug, a Macro, and What You Need to Know To Build Your Own Framework

BEAM There, Done That

921 subscribers • 17 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Adi Iyengar, author of Build Your Own Web Framework in Elixir

Intermediate. Assumes working knowledge.

425 views5 months ago1 recommendation

Web developmentProgramming languagesElixir and ErlangSoftware architectureDesign patterns

Adi Iyengar discusses rebuilding Phoenix from scratch, exploring the role of Plug, metaprogramming, and the underlying layers of the framework.

Three and a half years, one book, and a clearer answer to what Phoenix is actually doing under the hood. Phoenix makes building web apps in Elixir feel effortless, but how much of that is genuine elegance and how much is metaprogramming hiding the complexity? Adi Iyengar spent three and a half years writing Build Your Own Web Framework in Elixir to find out, and in this episode he sits down with Francesco and Allen to share what he learned by rebuilding Phoenix from the ground up. We dig into Plug as the real heart of the framework, when metaprogramming is the right tool and when it quietly becomes a liability, and why understanding the layers underneath Phoenix is what separates a productive developer from a senior one. Along the way Francesco brings out the BEAM web-server history most listeners have never heard — Yaws, Bluetail, Mochiweb, Inets — and the conversation lands on what coding agents get wrong about Phoenix in 2026.

Why it's here

1 person recommends this

What people say. Recommended for developers wanting to understand the magic behind Phoenix and how its macros work under the hood.

u/rtruscain r/elixir • Recommends

Anyone else go from “Phoenix is magic” to “wait… what is this macro actually doing?” 👀 New *BEAM There, Done That* episode with Adi Iyengar, who spent 3.5 years rebuilding Phoenix from scratch to understand the layers underneath. defmodule MyFramework do   use Plug.Router   \# accidentally reinvent Phoenix end Really good discussion on: * Plug as the real core of Phoenix * when metaprogramming helps vs hurts * old BEAM web-server history (Yaws, Mochiweb, Inets) * why coding agents still misunderstand Phoenix in 2026 Worth it if you’ve ever wanted to understand Phoenix beyond the generators. [video