I would build the core backend with Elixir/Erlang (Elixir is more adept at handling multiple simulataneous connections than Node.js and has far more powerful constructs for dealing with coordination of concurrency and realtime messaging) and use Node.js for bespoke microservices and APIs, along with Neo4J graph database for relationships and MongoDB (or another document database) for basic entity information (like user profiles). I would use ZeroMQ as a message queue to tie the architecture together.