I don't think Discord is great. But it's better than dealing with "Unable to decrypt message" on every message I get. It's better than being unable to properly search a channel, or server. It's better than the slow mess that Element (and other matrix clients as well!) are.
Hot take: Erlang/OTP is renowned for handling ridiculous numbers of concurrent users and has been battle-tested for decades in distributed systems, especially in comms platforms. To this day, I cannot comprehend why Matrix.org chose to use Python and Node.js of all things, instead of Erlang, or more recently, Elixir. This feels like such a low-hanging fruit in terms of architecture design, yet Matrix.org,
This explains so much. Why in the world is matrix not built on OTP??? Discord got this correct, right at the start. They went all in on Elixir and Rust and ho-boy, you can tell.
I honestly do not understand the draw... at all.