# Inside Phoenix: A Plug, a Macro, and What You Need to Know To Build Your Own Framework Page: https://stenobird.com/podcast/beam-there-done-that-7725251/inside-phoenix-a-plug-a-macro-and-what-you-need-to-know-to-build-your-own-framework Text version: https://stenobird.com/podcast/beam-there-done-that-7725251/inside-phoenix-a-plug-a-macro-and-what-you-need-to-know-to-build-your-own-framework.md Podcast: [BEAM There, Done That](https://stenobird.com/podcast/beam-there-done-that-7725251) Published: 2026-05-15T10:00:00+00:00 Episode link: https://podcasters.spotify.com/pod/show/beamtheredonethat/episodes/Inside-Phoenix-A-Plug--a-Macro--and-What-You-Need-to-Know-To-Build-Your-Own-Framework-e3j8ebo Audio file: https://anchor.fm/s/10f787368/podcast/play/119863096/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2026-4-12%2F423984071-44100-2-5de2a33ddb58d.mp3 Processing state: not_requested JSON: https://stenobird.com/v1/public/podcasts/beam-there-done-that-7725251/episodes/inside-phoenix-a-plug-a-macro-and-what-you-need-to-know-to-build-your-own-framework Duration seconds: 3697 ## Resource 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. ## Actions - request_transcript: `POST https://stenobird.com/v1/public/podcasts/beam-there-done-that-7725251/episodes/inside-phoenix-a-plug-a-macro-and-what-you-need-to-know-to-build-your-own-framework/transcription-requests` — Idempotently request low-priority transcript generation for this episode. - read_markdown: `GET https://stenobird.com/podcast/beam-there-done-that-7725251/inside-phoenix-a-plug-a-macro-and-what-you-need-to-know-to-build-your-own-framework.md` — Read the agent-friendly Markdown representation of this episode resource. A page view does not enqueue transcription. Agents should invoke `request_transcript` explicitly when they need this episode processed. ## Transcript Full transcripts are not published on public pages unless there is a clear rights basis.