Good question! I'd say it happens at the app level first because the context of the OS is too big a surface to start with. But a RAG app for a specific vertical could have enough context to dynamically draw a custom UI for every user, given the constraints on what the app is generally about.