upvote
It's a fair point. I think loss-aversion over React (Native) is to blame.

Their current client stack is: Web: React Desktop: React + Electron Mobile: React Native + Native

Their commitment to React on so many platforms makes it easy to accumulate bloat. Their need to support lower-level features means they can't avoid native code altogether.

I wonder why they stick with it.

My guess is they don't want to add more hires just for this problem

Their 2018 commitment to RN: https://discord.com/blog/why-discord-is-sticking-with-react-...

Their 2025 complications with it: https://discord.com/blog/supercharging-discord-mobile-our-jo...

reply
One runs on machines we pay for (= costs us money). Another runs on end users' machines (= costs them money).
reply
You can pay to have better/more machines, while you can't do the same with your clients
reply
But it affects user experience.
reply
Backend performance issues can grind your system to a halt. It’s basically a requirement for Discord to work reliably.

Front-end performance is not a hard requirement for most end users, unless the app is actually unusable. Discord isn’t that bad compared to some software I’ve used. You have to get beach balls on startup and complete UI freezes for people to really care. If it’s good enough for most people, shaving some MB off the memory usage or small number of ms off latency isn’t important to the business

reply
As long as negative experience doesn’t meaningfully impact user monetization, there’s no business incentive for that type of company to care.
reply
You can't buy client performance, so it is just more visible. It's not like there are a lot of people with Rust/C++ back ends outside of some very critical pieces.
reply