Generative UI has a lot of potential, and some of the ideas here are interesting, but the positioning as a developer tool (for folks that can just generate stable UI using claude code already) seems odd to me. What's the expected use case?
I'm interested in exploring the ideas here for on-the-fly output based on user intent. It reminds me a bit of the schema model I used for the LangView experimental library (https://x.com/rupertmanfredi/status/1653780093712633859).
If I'm reading this correctly, caching only happens if I give it a stable cache key? If that's true, this just seems like an insanely bad decision. I've seen waaaay to much bad React code to think that that isn't a massive foot-gun.
1. That combined with hot reloading just makes me think some jr dev is going to forget to put that there while they're building something locally and burn through their LLM budget without even knowing it.
2. What happens if the cache key changes. Is there any way to migrate from one key to another? Let's say I'm using user ids as the cache key and you need to do a migration that changes the format of the key, is the existing design just gone forever?
3. Does anyone even want a non-deterministic UI? Don't get me wrong, it's a cool for a demo, but I can't think of anything that would annoy me more than coming back to a website and every week it looks different.
Sorry to be a downer, but man, I just really struggle with this. If this is just kind of a cool hobby project then you can ignore #3, but for 1 and 2 I really feel like it'd be a better to do something like have a data attr for the prompt and then have component generation be something a user kicks off through a script or something.
I was hoping this might be a syntax or very very lightweight markup that could feed LLM generation of UI rather than just roll the dice to see what UI gets generated every time.
But why would anyone do this? The UI will obviously change unpredictably on every generation, there's no way to deliver quality control if the UI is generated on the fly.
I could see this being useful for client and patient onboarding in the services and medial sectors respectively. For example:
A potential client providing information for a law-firm regarding their grievance.
A patient filling out the medical questionnaire prior to their first visit to a medical practice.
Rather than having a fully deterministic form, you'd be providing them with forms that adapt to their specific issue. The data can then be intelligently stored both as JSON and a more generic record in an RDBMS.
That can be achieved with 100% infallability with a form framework like FormKit. Why risk it, especially in a high-stakes situation like health? Pretty sure it would actually be against some kind of regulation to do that specifically in the healthcare field.
I'm interested in exploring the ideas here for on-the-fly output based on user intent. It reminds me a bit of the schema model I used for the LangView experimental library (https://x.com/rupertmanfredi/status/1653780093712633859).
1. That combined with hot reloading just makes me think some jr dev is going to forget to put that there while they're building something locally and burn through their LLM budget without even knowing it.
2. What happens if the cache key changes. Is there any way to migrate from one key to another? Let's say I'm using user ids as the cache key and you need to do a migration that changes the format of the key, is the existing design just gone forever?
3. Does anyone even want a non-deterministic UI? Don't get me wrong, it's a cool for a demo, but I can't think of anything that would annoy me more than coming back to a website and every week it looks different.
Sorry to be a downer, but man, I just really struggle with this. If this is just kind of a cool hobby project then you can ignore #3, but for 1 and 2 I really feel like it'd be a better to do something like have a data attr for the prompt and then have component generation be something a user kicks off through a script or something.
https://developers.googleblog.com/introducing-a2ui-an-open-p...
In the real-world, to me it makes the most sense for client and patient onboarding.
Not usable enough? Just refresh! No, we don’t know how many times you’ll need to do that.
A potential client providing information for a law-firm regarding their grievance.
A patient filling out the medical questionnaire prior to their first visit to a medical practice.
Rather than having a fully deterministic form, you'd be providing them with forms that adapt to their specific issue. The data can then be intelligently stored both as JSON and a more generic record in an RDBMS.
That's just my initial thoughts.
Google has a similar project called A2UI: https://developers.googleblog.com/introducing-a2ui-an-open-p...