The client-side discovery pattern