if you are doing anything with web sockets, concurrency, "live" interactions like chat or "presence" (where people see who friends are online) that stuff is all piss easy in elixir and you can have way more going on one server with that than with anything else by like an order of magnitude. Also if you ever want to do anything weird with distributed servers it's very easy.
It does everything at least good and manageable by a single dev, also I think it's just really fun to write and really satisfying (esp when u do custom dsl stuff w/ macros...) Liveview is also cool if you hate js but want nice frontend stuff, but I just use it as a server.
The error/fault tolerance also makes it much easier to manage for like single people, I have a very complex backend and if someone runs into an error their personal genserver crashes and gets restarted by a supervisor and it doesn't impact anyone else, and that's just how it works by default you don't have to do anything to get that.
Go will be faster for a single server stuff, i'd probably rec go if you are just like doing more simple crud stuff or more performance focused.
Node.js works if you know js you can set it up really fast and if it's a small thing it will probably be fine. It's not very good at much though and you can easily get yourself into a shit position and it's pretty bad at concurrency. (again depending what you are doing)
For me the stuff I do elixir/pheonix just fits my mental model exactly but i'm doing super web socket stuff
this is a really cool podcast with
>guy who made erlang
>guy who came up with the actor model (similar to erlang but they arrived at it independently)
>tony hoare who came up with concurrency model Go leverages
https://youtu.be/37wFVVVZlVU
i love joe armstrong and jose valim. go people are kind of guy desu.
Also elixir has cool stuff coming out all the time and their type system implementaiton is cool
https://youtu.be/po-ckmSt1gI
also check out
https://phoenix.new/