Rewrite in Go, use vanilla websocket instead of Socket.IO