The Underappreciated UX of the ChatGPT Mobile Scroll Behavior

The ChatGPT mobile app UX is severely underappreciated.

Perhaps the best example of this is the scroll behavior. They've put a lot of thought into something so deceptively simple that most people don't notice how complex it really is.

I didn't realize myself, until I tried implementing it from scratch.

It's easy to forget that ChatGPT is not a typical text message UI. The introduction of streamed responses immediately following the user's messages actually necessitates a lot of new behaviors.

In a typical text message interface, when you send a message your message gets added to the bottom of the list of messages. When the person you're messaging responds, it also gets appended to the end. This behavior is very straightforward, and there are packages like Shopify's FlashList that make adding this sort of feature plug-and-play.

However, ChatGPT is very different. I'm still discovering new states that affect the scroll behavior, but here are some of the ones I've noticed so far:

What's also interesting is none of the above applies to web. On web, your messages scroll to the top of the screen, and the responses stream below it without scrolling, even on really short responses. That's it.

More and more apps are shipping their own chat interfaces, creating demand for a similar plug-and-play package like FlashList. I might release one myself once I have all the kinks ironed out in my own app, but if someone knows of something available already, would love to give it a try.

12.22.25