[frontend] Basic promise-based backend client