frontend: backend and websocket discovery