{"slug": "phoenix", "name": "Phoenix", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "Web framework for the Elixir language, built on the Erlang BEAM VM.", "recommenders": 7, "commenters": 14, "warners": 1, "score": 7.202, "rising": 3.02, "first": "2025-12-14", "latest": "2026-10-21", "why": "HN commenters praise Phoenix as an enjoyable Elixir web framework, with one calling it the best they have used, and value the BEAM/OTP reliability it builds on.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 7, "neutral": 5, "compare": 1, "warn": 1}, "spark": [0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 2, 1], "listed": true, "loved": ["Developer experience", "BEAM/OTP reliability"], "caveat": "Productivity vs Rails", "short_quote": "has Phoenix, the best web framework I've ever used", "icon": true, "domain": null, "github_repo": "codeberg.org/celenity/phoenix", "official_url": "https://www.phoenixframework.org/", "pricing": "open source", "aliases": ["Phoenix"], "verdict": [{"text": "HN commenters praise Phoenix as an enjoyable Elixir web framework, with one calling it the best they have used,", "cites": [{"id": 799747296, "item_id": 49984206, "url": "https://news.ycombinator.com/item?id=49984206", "by": "innocentoldguy", "date": "2026-10-06", "stance": "recommend", "quote": "has Phoenix, the best web framework I've ever used", "excerpt": "I use Rust and prefer Elixir over Gleam because Elixir has Lisp-style macros (Gleam doesn't), uses OTP directly, has the fantastic IEx REPL (Gleam has no counterpart), and has Phoenix, the best web framework I've ever used.", "context": "Rust user who prefers Elixir", "use_case": "web framework", "switched_from": "", "story": "Gleam doesn't compile to Erlang source anymore"}, {"id": 793898001, "item_id": 49618625, "url": "https://news.ycombinator.com/item?id=49618625", "by": "abejora", "date": "2026-09-08", "stance": "recommend", "quote": "We use Elixir and Phoenix for our application, which is quite an amazing experience.", "excerpt": "https://www.abejora.com/ - Timesheet registration software We try to differentiate in a few ways: * we try to be as fast and user friendly as possible, because nobody likes filling in timesheets: logical screens that align with the task you need to perform, keyboard support, flexible input... * democratic pricing. a lot of competitors hide the good stuff behind the expensive subscriptions, and per-seat pricing quickl", "context": "", "use_case": "web application framework", "switched_from": "", "story": "Ask HN: Show your micro-SaaS"}]}, {"text": " and value the BEAM/OTP reliability it builds on.", "cites": [{"id": 784151296, "item_id": 49009456, "url": "https://news.ycombinator.com/item?id=49009456", "by": "bicx", "date": "2026-07-22", "stance": "recommend", "quote": "the BEAM/OTP capabilities genuinely worked more reliably and elegantly to solve our orchestrator challenges", "excerpt": "We're in an interesting time where my framework/stack choice is now much less dictated by existing engineer expertise and more about fundamental capabilities in the framework and stack themselves. I ended up building an agent orchestrator in Elixir and Phoenix, not because I love working in Elixir/Phoenix (I do, but I just don't write code by hand anymore), but because the BEAM/OTP capabilities genuinely worked more ", "context": "built an agent orchestrator", "use_case": "agent orchestrator", "switched_from": "", "story": "Hologram works. Elixir runs in the browser"}]}, {"text": " The main caveat is complexity: one commenter found it harder to get things done in than Rails,", "cites": [{"id": 770510513, "item_id": 48156907, "url": "https://news.ycombinator.com/item?id=48156907", "by": "faangguyindia", "date": "2026-05-15", "stance": "warn", "quote": "I used Rails and then i tried Phoenix and it was lot more difficult to get things done.", "excerpt": "Who even uses Erlang? I used Rails and then i tried Phoenix and it was lot more difficult to get things done. I don't understand Phoenix hype For solo devs, Rails is arguably most productive webapp system. LLM is very good at writing ruby rails code. Much better than writing django in my experience even though python training corpus is huge. I write my experimental apps in Rail when it stabilizes, i do a Go rewrite. ", "context": "", "use_case": "building web apps", "switched_from": "", "story": "Erlang/OTP 29.0"}]}, {"text": " and another positions it for enterprise complexity rather than minimal apps.", "cites": [{"id": 742580897, "item_id": 46411306, "url": "https://news.ycombinator.com/item?id=46411306", "by": "gofenix", "date": "2025-12-28", "stance": "compare", "quote": "Not for enterprise complexity \u2013 that's what Phoenix is for.", "excerpt": "I've been building web apps for years, and I got tired of the complexity. So I created Nex \u2013 a minimalist web framework that strips away the cruft and lets you ship features fast. *What makes Nex different:* - *Zero JavaScript complexity* \u2013 Server-side rendering with HTMX, no React/Vue needed - *File-based routing* \u2013 Drop a file in `src/pages/`, get a route automatically - *Hot reload* \u2013 Instant feedback while develo", "context": "", "use_case": "enterprise web apps", "switched_from": "", "story": "Show HN: Nex \u2013 The simplest way to build Htmx apps in Elixir"}]}], "praise": [{"label": "Developer experience", "summary": "Commenters describe using Phoenix as amazing, and one calls it the best web framework they have used.", "quotes": [{"id": 799747296, "item_id": 49984206, "url": "https://news.ycombinator.com/item?id=49984206", "by": "innocentoldguy", "date": "2026-10-06", "stance": "recommend", "quote": "has Phoenix, the best web framework I've ever used", "excerpt": "I use Rust and prefer Elixir over Gleam because Elixir has Lisp-style macros (Gleam doesn't), uses OTP directly, has the fantastic IEx REPL (Gleam has no counterpart), and has Phoenix, the best web framework I've ever used.", "context": "Rust user who prefers Elixir", "use_case": "web framework", "switched_from": "", "story": "Gleam doesn't compile to Erlang source anymore"}, {"id": 793898001, "item_id": 49618625, "url": "https://news.ycombinator.com/item?id=49618625", "by": "abejora", "date": "2026-09-08", "stance": "recommend", "quote": "We use Elixir and Phoenix for our application, which is quite an amazing experience.", "excerpt": "https://www.abejora.com/ - Timesheet registration software We try to differentiate in a few ways: * we try to be as fast and user friendly as possible, because nobody likes filling in timesheets: logical screens that align with the task you need to perform, keyboard support, flexible input... * democratic pricing. a lot of competitors hide the good stuff behind the expensive subscriptions, and per-seat pricing quickl", "context": "", "use_case": "web application framework", "switched_from": "", "story": "Ask HN: Show your micro-SaaS"}]}, {"label": "BEAM/OTP reliability", "summary": "One builder chose Elixir and Phoenix because BEAM/OTP solved their agent orchestration challenges more reliably and elegantly.", "quotes": [{"id": 784151296, "item_id": 49009456, "url": "https://news.ycombinator.com/item?id=49009456", "by": "bicx", "date": "2026-07-22", "stance": "recommend", "quote": "the BEAM/OTP capabilities genuinely worked more reliably and elegantly to solve our orchestrator challenges", "excerpt": "We're in an interesting time where my framework/stack choice is now much less dictated by existing engineer expertise and more about fundamental capabilities in the framework and stack themselves. I ended up building an agent orchestrator in Elixir and Phoenix, not because I love working in Elixir/Phoenix (I do, but I just don't write code by hand anymore), but because the BEAM/OTP capabilities genuinely worked more ", "context": "built an agent orchestrator", "use_case": "agent orchestrator", "switched_from": "", "story": "Hologram works. Elixir runs in the browser"}]}, {"label": "Contexts structure", "summary": "One commenter has AI coding tools use Phoenix Contexts to push them toward following BDD.", "quotes": [{"id": 789014096, "item_id": 49313381, "url": "https://news.ycombinator.com/item?id=49313381", "by": "Arubis", "date": "2026-08-15", "stance": "recommend", "quote": "My go-to for forcing AI to at least attempt to follow BDD has been to demand that it use Phoenix Contexts.", "excerpt": "My go-to for forcing AI to at least attempt to follow BDD has been to demand that it use Phoenix Contexts.", "context": "", "use_case": "guiding AI toward BDD", "switched_from": "", "story": "Yadda 3.0.0: BDD in the Age of AI Agents"}]}], "caveats": [{"label": "Productivity vs Rails", "summary": "One former Rails user found Phoenix a lot more difficult to get things done in and doesn't understand the hype.", "quotes": [{"id": 770510513, "item_id": 48156907, "url": "https://news.ycombinator.com/item?id=48156907", "by": "faangguyindia", "date": "2026-05-15", "stance": "warn", "quote": "I used Rails and then i tried Phoenix and it was lot more difficult to get things done.", "excerpt": "Who even uses Erlang? I used Rails and then i tried Phoenix and it was lot more difficult to get things done. I don't understand Phoenix hype For solo devs, Rails is arguably most productive webapp system. LLM is very good at writing ruby rails code. Much better than writing django in my experience even though python training corpus is huge. I write my experimental apps in Rail when it stabilizes, i do a Go rewrite. ", "context": "", "use_case": "building web apps", "switched_from": "", "story": "Erlang/OTP 29.0"}]}, {"label": "Complexity", "summary": "The author of a competing minimalist framework describes Phoenix as the choice for enterprise complexity.", "quotes": [{"id": 742580897, "item_id": 46411306, "url": "https://news.ycombinator.com/item?id=46411306", "by": "gofenix", "date": "2025-12-28", "stance": "compare", "quote": "Not for enterprise complexity \u2013 that's what Phoenix is for.", "excerpt": "I've been building web apps for years, and I got tired of the complexity. So I created Nex \u2013 a minimalist web framework that strips away the cruft and lets you ship features fast. *What makes Nex different:* - *Zero JavaScript complexity* \u2013 Server-side rendering with HTMX, no React/Vue needed - *File-based routing* \u2013 Drop a file in `src/pages/`, get a route automatically - *Hot reload* \u2013 Instant feedback while develo", "context": "", "use_case": "enterprise web apps", "switched_from": "", "story": "Show HN: Nex \u2013 The simplest way to build Htmx apps in Elixir"}]}], "who": [{"by": "robotmay", "context": "runs a vintage camera stall", "url": "https://news.ycombinator.com/item?id=50183486", "date": "2026-10-21"}, {"by": "innocentoldguy", "context": "Rust user who prefers Elixir", "url": "https://news.ycombinator.com/item?id=49984206", "date": "2026-10-06"}, {"by": "bicx", "context": "built an agent orchestrator", "url": "https://news.ycombinator.com/item?id=49009456", "date": "2026-07-22"}, {"by": "kellyjackson5", "context": "Engineering manager at Rabbet", "url": "https://news.ycombinator.com/item?id=48819370", "date": "2026-07-07"}], "tags": ["for Elixir developers", "for production backends", "for side projects", "for agent orchestration"], "use_cases": ["web framework", "building a forum", "web application framework", "firefox hardening patches", "web development", "guiding ai toward bdd"], "compared": [{"slug": "react", "name": "React", "co": 3, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=50180836", "title": "PHP2Shell: AI uncovers critical RCE in PHP", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49975619", "title": "Gleam doesn't compile to Erlang source anymore", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49590656", "title": "Ask HN: Show your micro-SaaS", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49536195", "title": "My practical approach to surfing the web safely", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49277952", "title": "Does anyone run Postgres without PgBouncer?", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49310495", "title": "Yadda 3.0.0: BDD in the Age of AI Agents", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {"neutral": 1, "recommend": 1, "compare": 1}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {"warn": 1}, "2026-06": {"recommend": 1}, "2026-07": {"neutral": 2, "recommend": 1}, "2026-08": {"recommend": 1, "neutral": 1}, "2026-09": {"recommend": 2}, "2026-10": {"recommend": 1, "neutral": 1}}, "quotes": [{"id": 802935776, "item_id": 50183486, "url": "https://news.ycombinator.com/item?id=50183486", "by": "robotmay", "date": "2026-10-21", "stance": "neutral", "quote": "I slopcoded my own forum software in Elixir/Phoenix recently", "excerpt": "I slopcoded my own forum software in Elixir/Phoenix recently, starting from my memories of phpBB and SMF forums I used to run. I\u2019m using it as a forum for my vintage camera stall as I have a lot of people who enjoy hanging out at the stall, and it turns out they enjoy hanging out on a retro forum too. I do want to add some stupid forum features I remember from the 2000s. An RPG mod is definitely on my mind.", "context": "runs a vintage camera stall", "use_case": "building a forum", "switched_from": "", "story": "PHP2Shell: AI uncovers critical RCE in PHP"}, {"id": 799747296, "item_id": 49984206, "url": "https://news.ycombinator.com/item?id=49984206", "by": "innocentoldguy", "date": "2026-10-06", "stance": "recommend", "quote": "has Phoenix, the best web framework I've ever used", "excerpt": "I use Rust and prefer Elixir over Gleam because Elixir has Lisp-style macros (Gleam doesn't), uses OTP directly, has the fantastic IEx REPL (Gleam has no counterpart), and has Phoenix, the best web framework I've ever used.", "context": "Rust user who prefers Elixir", "use_case": "web framework", "switched_from": "", "story": "Gleam doesn't compile to Erlang source anymore"}, {"id": 793898001, "item_id": 49618625, "url": "https://news.ycombinator.com/item?id=49618625", "by": "abejora", "date": "2026-09-08", "stance": "recommend", "quote": "We use Elixir and Phoenix for our application, which is quite an amazing experience.", "excerpt": "https://www.abejora.com/ - Timesheet registration software We try to differentiate in a few ways: * we try to be as fast and user friendly as possible, because nobody likes filling in timesheets: logical screens that align with the task you need to perform, keyboard support, flexible input... * democratic pricing. a lot of competitors hide the good stuff behind the expensive subscriptions, and per-seat pricing quickl", "context": "", "use_case": "web application framework", "switched_from": "", "story": "Ask HN: Show your micro-SaaS"}, {"id": 793679281, "item_id": 49604955, "url": "https://news.ycombinator.com/item?id=49604955", "by": "xyhhx", "date": "2026-09-08", "stance": "recommend", "quote": "anybody using firefox should consider the patches by celenity at https://codeberg.org/celenity/Phoenix", "excerpt": "> I\u2019m using Firefox because it still has better built-in security and privacy controls than other browsers. isn't firefox like far less secure than chromium? its sandbox pales in comparison, for one thing. configuring trivalent on fedora-based distros is a good way to get the security benefits of chromium without all the adtech slop. anybody using firefox should consider the patches by celenity at https://codeberg.or", "context": "", "use_case": "Firefox hardening patches", "switched_from": "", "story": "My practical approach to surfing the web safely"}, {"id": 789154033, "item_id": 49322127, "url": "https://news.ycombinator.com/item?id=49322127", "by": "recroad", "date": "2026-08-16", "stance": "neutral", "quote": "I use the Ecto connection pool when using Elixir/Phoenix.", "excerpt": "I use the Ecto connection pool when using Elixir/Phoenix.", "context": "", "use_case": "web development", "switched_from": "", "story": "Does anyone run Postgres without PgBouncer?"}, {"id": 789014096, "item_id": 49313381, "url": "https://news.ycombinator.com/item?id=49313381", "by": "Arubis", "date": "2026-08-15", "stance": "recommend", "quote": "My go-to for forcing AI to at least attempt to follow BDD has been to demand that it use Phoenix Contexts.", "excerpt": "My go-to for forcing AI to at least attempt to follow BDD has been to demand that it use Phoenix Contexts.", "context": "", "use_case": "guiding AI toward BDD", "switched_from": "", "story": "Yadda 3.0.0: BDD in the Age of AI Agents"}, {"id": 785659184, "item_id": 49103699, "url": "https://news.ycombinator.com/item?id=49103699", "by": "garyhbutton", "date": "2026-07-29", "stance": "neutral", "quote": "I do use elixir / phoenix", "excerpt": "Let me look, I do use elixir / phoenix but I am sure there is some tool that will work with that. Thanks.", "context": "", "use_case": "web framework", "switched_from": "", "story": "Ask HN: What do you use for privacy focused analytics?"}, {"id": 784151296, "item_id": 49009456, "url": "https://news.ycombinator.com/item?id=49009456", "by": "bicx", "date": "2026-07-22", "stance": "recommend", "quote": "the BEAM/OTP capabilities genuinely worked more reliably and elegantly to solve our orchestrator challenges", "excerpt": "We're in an interesting time where my framework/stack choice is now much less dictated by existing engineer expertise and more about fundamental capabilities in the framework and stack themselves. I ended up building an agent orchestrator in Elixir and Phoenix, not because I love working in Elixir/Phoenix (I do, but I just don't write code by hand anymore), but because the BEAM/OTP capabilities genuinely worked more ", "context": "built an agent orchestrator", "use_case": "agent orchestrator", "switched_from": "", "story": "Hologram works. Elixir runs in the browser"}, {"id": 781109922, "item_id": 48819370, "url": "https://news.ycombinator.com/item?id=48819370", "by": "kellyjackson5", "date": "2026-07-07", "stance": "neutral", "quote": "Backend is in Elixir (Phoenix/Absinthe/Postgres) hosted on GCP", "excerpt": "Rabbet (YC S17) | Sr. Software Engineer (Elixir/React) | REMOTE (TX, NC, CO) | Full time Rabbet is hiring Sr. Software Engineers to help us streamline construction finances. We offer cloud-based software for commercial lenders and real estate developers to centralize construction finances, automate administrative tasks, and reduce the time spent managing draws. Backend is in Elixir (Phoenix/Absinthe/Postgres) hosted ", "context": "Engineering manager at Rabbet", "use_case": "backend framework", "switched_from": "", "story": "Ask HN: Who is hiring? (July 2026)"}, {"id": 776227696, "item_id": 48514231, "url": "https://news.ycombinator.com/item?id=48514231", "by": "neosenate", "date": "2026-06-12", "stance": "recommend", "quote": "On my Mac I use a combination of Phoenix and Hyperkey to capture capslock + key combinations", "excerpt": "This is fantastic! I wish window/app selection in Wayland was better. On my Mac I use a combination of Phoenix and Hyperkey to capture capslock + key combinations, (e.g. cap+f for Firefox) which when pressed, either open an app of my choice it not already open, or bring it to the front of the stack. Last time I looked into it window and app selection in Wayland just didn\u2019t work.", "context": "", "use_case": "app launching shortcuts", "switched_from": "", "story": "A key remapping daemon for Linux"}, {"id": 770510513, "item_id": 48156907, "url": "https://news.ycombinator.com/item?id=48156907", "by": "faangguyindia", "date": "2026-05-15", "stance": "warn", "quote": "I used Rails and then i tried Phoenix and it was lot more difficult to get things done.", "excerpt": "Who even uses Erlang? I used Rails and then i tried Phoenix and it was lot more difficult to get things done. I don't understand Phoenix hype For solo devs, Rails is arguably most productive webapp system. LLM is very good at writing ruby rails code. Much better than writing django in my experience even though python training corpus is huge. I write my experimental apps in Rail when it stabilizes, i do a Go rewrite. ", "context": "", "use_case": "building web apps", "switched_from": "", "story": "Erlang/OTP 29.0"}, {"id": 742580897, "item_id": 46411306, "url": "https://news.ycombinator.com/item?id=46411306", "by": "gofenix", "date": "2025-12-28", "stance": "compare", "quote": "Not for enterprise complexity \u2013 that's what Phoenix is for.", "excerpt": "I've been building web apps for years, and I got tired of the complexity. So I created Nex \u2013 a minimalist web framework that strips away the cruft and lets you ship features fast. *What makes Nex different:* - *Zero JavaScript complexity* \u2013 Server-side rendering with HTMX, no React/Vue needed - *File-based routing* \u2013 Drop a file in `src/pages/`, get a route automatically - *Hot reload* \u2013 Instant feedback while develo", "context": "", "use_case": "enterprise web apps", "switched_from": "", "story": "Show HN: Nex \u2013 The simplest way to build Htmx apps in Elixir"}, {"id": 742127088, "item_id": 46382943, "url": "https://news.ycombinator.com/item?id=46382943", "by": "nialv7", "date": "2025-12-25", "stance": "recommend", "quote": "this might make a good alternative to Xwayland though, which can be exciting.", "excerpt": "the xserver implementation itself is only part of the problem. the other part is the X11 protocol is just bad, and IMHO can't be solved by subsetting. this might make a good alternative to Xwayland though, which can be exciting.", "context": "", "use_case": "X server", "switched_from": "", "story": "Phoenix: A modern X server written from scratch in Zig"}, {"id": 740340530, "item_id": 46271283, "url": "https://news.ycombinator.com/item?id=46271283", "by": "vinmar_codes", "date": "2025-12-14", "stance": "neutral", "quote": "building with Elixir and Phoenix", "excerpt": "https://www.keepsakebox.app/ I was thinking about what to get my long-distance girlfriend for her birthday which coincidentally was also the anniversary of our first date. So I thought of building her a personal website, installable via tauri so she can view it offline whenever she wants, that has a timeline of all the things we went through: first date, events, trips, moves etc. Now I want to polish this, make it cu", "context": "", "use_case": "web backend", "switched_from": "", "story": "Ask HN: What Are You Working On? (December 2025)"}]}