This was a pass on the parts of the product that should not ask for attention.
The mobile keyboard should not make chat feel fragile. The assistant should not repeat itself after you have already started talking. The header should not cover the dog you came to see.
The chat composer
On iOS, the Kits composer could jump above the keyboard in a way that made the surface feel less native.
The fix was mostly about getting out of the way and letting the viewport resize correctly. That is always satisfying: the right product feeling came from removing a clever workaround instead of adding another one.
The assistant
I also cleaned up some small Kits behaviors: intro messages that could reappear after the first send, streaming jitter, and mascot wiring that needed to point at the real open state.
Agent UI is sensitive to tiny interruptions. If the surface twitches or repeats itself, it starts to feel less like help and more like machinery.
The listing page
The last piece was a straightforward layout fix: the dog listing hero should never hide under the fixed header.
It is a small bug, but it sits right at the emotional top of the page. The first view should show the dog clearly.