How would you design a mobile app feature that needs to support robust error handling and user-friendly recovery states on Airbnb?