Node, socket.io, redis, and otr.js to create end-to-end encrypted web chat