The UX of the sleep rating widget drives me nuts. You’ve chosen to go with a 5-star rating system. That implies discrete values – users expect to choose 1, 2, 3, 4, or 5 stars, and possibly 1/2-star values like 3.5 out of 5. But instead the widget behaves as a continuous slider. As I move my finger across the 5 stars, I am selecting fractional values, like 3.812532 stars out of 5. This is completely counter-intuitive and defeats the purpose of even using a 5-star system.
Please decide on either a continuous rating system, where the user slides on a progress bar from 0% to 100%, or a discrete rating system, where the user selects 1-5 stars. You are conflating the two concepts right now.