frontend: add backend discovery