The End of the Static Screen: Architecting Intent-Driven UX — Gus Iwanaga, commercetools
Read the talk
The End of the Static Screen: Architecting Intent-Driven UX
Gus Iwanaga traces commercetools’ move from unpredictable model-composed screens to a declarative architecture where intent selects tools and components, schemas preserve the design system, and encoded layout knowledge guides how native interfaces come together.
From a talk by Gus Iwanaga
At a glance
Ideas worth remembering
Repeatedly asking for the same Q1 sales report exposed the failure of loosely guided composition: layouts, copy, and presentation of the reporting period changed between turns.
Choose how much control to delegate: let the agent select finished components, deliver generated HTML through an MCP tool into a sandboxed iframe, or describe native components through a declarative UI specification.
In the declarative architecture, intent classification drives tool calls, tool entities map to eligible components, and a UI description using a catalog and Zod schema renders as native React UI.
Design-system compliance does not solve information architecture. The team guides placement through templates, slots, nested sub-slots, and eligible component categories, mapping upward from the selected components.
The catalog becomes the contract between agent and interface, shifting design work toward schemas, properties, mappings, synthetic inputs, and interaction patterns. That change requires attention to people and process as well as the product.
Static software makes users carry the complexity
Gus Iwanaga, a general manager leading product, UX, and engineering for zero-to-one products at commercetools, opens by rejecting his own catchy title. The useful subject is narrower: lessons from trying to build generative UX and UI, with particular attention to the interface problems that orchestration alone does not solve. The goal is a working mental model for deciding how much of an experience a model should control. 0:42
The starting complaint is familiar to anyone operating several business applications: software exposes its internal organization and asks people to learn it. Each SaaS product brings a separate navigation model, feature hierarchy, and method for completing work. Adding more applications therefore adds more mental models. The cognitive load that software was supposed to absorb remains with the user. 2:42
The examples are information-dense CRM views, elaborate tables, and interfaces shaped by many accumulated features. Even a polished interface can demand substantial onboarding because newcomers must learn where capabilities live and how that particular application expects work to proceed. The problem extends beyond visual clutter: people repeatedly translate their goals into each application’s private logic. 4:12
That burden is especially visible at an API-first company with more than 300 APIs. The question that started the project was whether AI could change the interaction model itself rather than merely help teams ship more static screens. An intent-driven interface would begin with what the user wants to accomplish, then assemble the relevant capabilities instead of making the user navigate the software’s structure. 5:42
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
One request produced four incompatible reports
The first implementation failed in a revealing way. The input stayed fixed—create a sales report for Q1—but four turns produced four different experiences. The model selected components from a catalog and decided their placement and information architecture. One result crowded the page with KPI cards. Another changed the period’s wording from Q1 to January and March. A third added still more cards, charts, and text. The fourth returned to Q1 but remained confusing. 6:12
The observable defect was inconsistency, but the causal chain matters. The system gave the model a component catalog, asked it to choose and arrange the experience, and left too many UX decisions open. Repeated requests changed the layout, the copy, and how the reporting period was presented. Personalization became disorientation: the user had to interpret a new screen every time despite asking the same question. Iwanaga refused to ship that experience to production. 7:12
The revised campaign-planning demo uses an orchestrator before rendering. It extracts intent from the request, identifies applicable first- or third-party tools, gathers their outputs, and supplies the resulting context to a UX agent. Those capabilities can include agents on MCP servers. The interface is still selected with AI, but composition is more guided: retrieved data and applicable capabilities inform the UX agent’s decisions. 8:42
After the user approves the proposed campaign, the demonstration proceeds in a pre-production environment. The shown flow establishes feasibility; reliability at scale remained an open question for the team. The improved appearance is a UX judgment about this demonstration, rather than a measured consistency gain across repeated requests. 9:42
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Choose how much interface control to delegate
Generative UI is a spectrum of control rather than one architecture. The practical decision is how much variability the product can tolerate and which decisions must remain predictable. Three approaches illustrate the range. 10:42
- Controlled component: The product ships a finished component, and the agent decides when to display it. A restaurant-search component in ChatGPT is the example: its structure remains opinionated and predictable. This works well for bounded flows such as booking, but can become too prescriptive for highly configurable B2B work.
- Open-ended generation: The model creates the experience itself. A request for a three-level organizational chart in Claude demonstrates the appeal: a short request yields a useful diagram. In the architecture described here, an MCP tool delivers HTML that renders inside a sandboxed iframe in a host such as a chat application. Sandboxing supplies a rendering environment; it does not decide whether the resulting experience meets the company’s UX expectations.
- Declarative generation: The model emits a constrained UI description that maps onto known native components. This middle position allows the interface to adapt while retaining the product’s component catalog and design rules. 11:11
The declarative option is supported by UI protocols and libraries. Iwanaga discusses several options for this middle approach. They have different characteristics; the talk groups them by the control they offer rather than comparing their individual APIs. The commercetools team chose the declarative approach and continued testing these options. 14:41
Where does control over the interface live? The comparison follows the shift from product-authored components toward model-authored markup. Open-ended generation gives the model more freedom over the experience, which makes its outcome harder for the business to predict. The declarative middle retains a defined rendering vocabulary while allowing the model to select and compose the interface.
The product defines the component; the agent selects when to show it.
The declarative middle allows composition while keeping the application’s native component vocabulary.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
The declarative pipeline turns intent into native UI
The declarative path begins with the user’s request. The orchestrator classifies its intent, invokes the relevant tools, and retrieves their data. It maps entities in those tool results to components that are eligible for the task. Instead of sending generated markup to the browser, it broadcasts a structured UI description—a specification of what the interface should contain. 15:11
The component catalog defines what that specification may reference, with a Zod schema describing the supported structure and properties. The description must comply with the chosen protocol, and the renderer turns it into native React components. This separates selection from implementation: AI participates in choosing the interface, while the application supplies the components that actually render it. 15:41
How does the campaign-planning request reach the screen? The flow connects the demo’s request to intent classification, tool data, eligible components, a UI specification, and native rendering. The important relationship is between business entities and interface components: tools supply the context that makes component selection meaningful, while the catalog and schema define the interface language available to the agent.
This preserves design-system compliance, but it does not make the experience deterministic. The model can still choose among eligible components and decide where to place them. The Q1 report also showed why copy belongs in the UX problem: changing how a period is described can confuse the user even when the components themselves look correct. A defined rendering vocabulary does not, by itself, supply good information architecture. That remaining gap leads to the hardest layout question: who arranges what the agent picked? 16:11
The user describes the intended task.
Tool entities map to eligible catalog components before a protocol-compliant UI description renders as React components.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Layout knowledge becomes executable
To control arrangement, the team borrowed the hierarchy of atomic design and taught the UX agent what good layouts look like for different situations. A template catalog provides the larger structures. Each page layout contains slots such as a header or main region; slots may contain nested sub-slots; and those sub-slots accept particular categories of components. The hierarchy gives the system a way to guide placement instead of leaving it entirely open. 17:41
The design hierarchy moves downward: layout → slot → sub-slot → component. The orchestrator starts with the components eligible for the current intent, so composition goes upward instead: component → sub-slot → slot → template. The system begins with the pieces needed to answer the request and maps them into the larger layout structure. This codifies the team’s UX knowledge in the agent’s composition process. Arrangement remained an ongoing challenge despite this mitigation. 18:41
How can selected components lead to a page layout? The upward mapping makes the dependency visible: component categories guide their placement in sub-slots, sub-slots connect to slots, and slots connect to templates. That relationship explains why layout metadata matters alongside the visual component implementation. The catalog must describe where a component fits as well as what it looks like. 19:11
The orchestrator selects components suitable for the user’s intent.
Composition reverses the design hierarchy, mapping selected components upward into regions and templates.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Design work moves from pixels to rules
The second unresolved challenge is curation. Once agents compose interfaces through a catalog, that catalog becomes the contract between the agent and the UI. Every property matters—not only component attributes, but also the attributes of layouts, slots, and sub-slots. These definitions give the team a way to steer the generated experience. Testing UI protocols remains part of the work, but the protocol cannot substitute for a carefully described catalog. 20:11
Curation is what lets the product offer useful flexibility while keeping UX guidance in the system. The agent needs descriptions of the available components and their properties, and the layout hierarchy needs its own attributes. Without that work, supplying a library of attractive components still leaves composition decisions underspecified—the problem exposed by the four Q1 reports. 20:40
The team consequently no longer designs every pixel and entire flow in advance. Product managers and UX designers now discuss a different set of materials:
- Schemas and catalog rules: Define the properties and choices available during composition.
- Synthetic data and representative queries: Develop inputs that map to particular components through the mapping logic.
- Interaction patterns: Guide how users work with the generated experience.
Design judgment moves into the definitions that shape what the agent can generate. 21:11
That shift is organizational as well as technical. For nontechnical PMs and UX designers, discussing schemas, rules, and synthetic inputs was a substantial change in the nature of their work. Iwanaga closes with three concerns—people, product, and process—and calls for a lightweight process that takes the people element seriously. The interface can adapt to intent only if the team also learns to express its judgment in the catalog, mapping logic, and layout system. 22:11
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Resources
Further reading
A first-party explanation of the product’s orchestration and generative-UI pillars, with a campaign example that follows a user request through configuration, approval, autonomous operation, and monitoring.
Related talks
- Agent Output Is Not UX: Rendering Layer Your LLM Pipeline Is Missing - Bala Ramdoss, Amazon Lens
A related talk focused on the rendering layer between agent output and a usable interface.
- Beyond Components: Designing Generative UI for MCP Apps
Continues the design question of how generative interfaces fit into MCP applications.
- MCP Apps: Extending the Frontier — Ido Salomon & Liad Yosef
A companion topic for exploring applications built around MCP beyond tool responses alone.
Read the complete timestamped transcript
- 0:01
[music]
- 0:12
>> How's it going?
- 0:14
The end of uh the end of the conference,
- 0:16
how's everybody feeling? Tired, drinking
- 0:19
from the fire hose as well?
- 0:21
Are you guys a little bit tired of
- 0:22
hearing loop engineering, harness
- 0:24
engineering, software factory, evolves,
- 0:27
pre-training,
- 0:29
post-training data, and whatnot? Uh but
- 0:31
anyways, those topics were more than
- 0:33
valid, right? Uh hi.
- 0:35
Some uh really uh common faces here. By
- 0:38
the way, I'm super excited to be here
- 0:40
and talk to you guys about this title.
- 0:43
And And I'm sorry, when I was when I
- 0:46
submitted the application, I was
- 0:47
thinking of potentially a catchy title,
- 0:51
but I don't like this at all. So, with
- 0:53
all due respect to the organizers, I'll
- 0:55
have to make a change. Uh and the actual
- 0:58
topic that I want to focus here today is
- 1:01
lessons learned uh from a team that is
- 1:04
building proper generative uh UX and UI.
- 1:08
And I was going to uh touch on agentic
- 1:10
orchestration, but come on. Uh over the
- 1:13
last 3 days, this is what we heard all
- 1:16
the time. So, I'd rather focus on what I
- 1:18
didn't hear enough about here in the
- 1:21
conference, and hopefully you walk away,
- 1:23
if not with something very tangible, but
- 1:25
with a new mental model that can spark
- 1:27
meaningful discussions down the road.
- 1:29
Sound good?
- 1:31
All right.
- 1:32
Very good.
- 1:33
So, hi everybody. Uh I'm Gus. I'm a
- 1:35
general manager at commercetools. I lead
- 1:37
product, UX, and engineering for
- 1:39
zero-to-one products. I tell people I'm
- 1:42
in a very privileged position because we
- 1:44
get to build really cool stuff. So, we
- 1:47
cook really interesting stuff at
- 1:48
commercetools.
- 1:49
Fantastic. And this is what you guys can
- 1:51
expect uh at least during the
- 1:53
presentation.
- 1:54
Uh I'd like to make sure that we're on
- 1:56
the same page with respect to the
- 1:57
problem uh the problem space uh followed
- 2:00
by a quick demo of the product because
- 2:02
I'm not sure if you guys agree, an image
- 2:03
speaks more than 1,000 words. So, it
- 2:06
would just uh make it more tangible for
- 2:08
uh everybody here. Followed by a rapid
- 2:11
discussion on the emergence of UI
- 2:13
protocols, and I'm not sure if you guys
- 2:15
joined maybe some of the talks here.
- 2:17
Even the founder of some of these
- 2:18
protocols were here uh this week, and
- 2:21
that was really cool. Followed by and
- 2:23
last but not least, the challenges that
- 2:25
uh my team uh and I faced and we still
- 2:27
face. And some of the mitigation tactics
- 2:30
uh that we put in place to overcome some
- 2:31
of these challenges.
- 2:33
So, with that
- 2:35
let's continue. The problem space.
- 2:37
This is This is more like a a a
- 2:39
statement um
- 2:41
and we're still adapt to the software
- 2:44
that we ship, not the other way around.
- 2:46
Right? And then uh although you could
- 2:48
argue when GPT came out, this was
- 2:50
November uh 2022, we had a really good
- 2:53
glimpse of uh real personalization, but
- 2:57
everything else uh remained static. And
- 3:00
even with AI, we keep shipping a lot of
- 3:03
stuff much faster, but to a significant
- 3:05
extent, it is still static. And my
- 3:08
question is, why?
- 3:11
So, for the uh over the last 40 years,
- 3:14
uh we kept shipping a static
- 3:17
experiences. And if I put it myself in
- 3:19
the shoes of uh some of uh my customers,
- 3:23
they need several SaaS applications for
- 3:27
uh the day-to-day work, and each with
- 3:30
its own mental model and its own way to
- 3:32
get anything done.
- 3:35
And over time, it just kept getting
- 3:37
worse, just accruing uh debt. The
- 3:40
cognitive load that we wanted to remove
- 3:43
and that we wanted to transfer to the
- 3:44
machine, uh it's on us.
- 3:47
And now with AI, things can be
- 3:50
different.
- 3:52
I don't know if you guys agree, but this
- 3:53
is uh what we what we think.
- 3:55
And I do have a couple of examples. I'm
- 3:58
not going to say out loud the name of
- 3:59
these apps, but let's take a look.
- 4:03
Here.
- 4:03
First one.
- 4:05
You know, that icon is very well known.
- 4:07
This is probably the most famous CRM of
- 4:09
all times.
- 4:11
But when I look at this screen, there's
- 4:14
a lot going on. I don't even know where
- 4:15
to start. Right? Not only the
- 4:17
information overload, how many features
- 4:19
how many teams do you think are somewhat
- 4:21
involved just to ship this?
- 4:24
Many, probably. Right? And this is just
- 4:26
one.
- 4:27
Let's have a look. I have a couple of
- 4:29
other examples.
- 4:30
So,
- 4:31
this here.
- 4:33
Look at that.
- 4:34
Oh my god, this is a fancy table. I
- 4:36
don't even know where to start. But
- 4:38
anyways,
- 4:39
one more.
- 4:40
Does everybody know this one here?
- 4:43
Beautiful. Beautiful UI. Right? It's a
- 4:46
fantastic, super intuitive, and
- 4:50
something else just to highlight.
- 4:52
Do you guys know how much time these
- 4:54
companies need to invest in onboarding
- 4:56
people?
- 4:58
So, that was the the trade-off.
- 5:00
Right? So, you got to allocate a lot of
- 5:02
time for a lot of people just to onboard
- 5:05
newcomers. As a result of this
- 5:08
complexity that has been introduced over
- 5:11
time.
- 5:12
So, this is just at least the hardcore
- 5:15
evidence. So, different apps, different
- 5:18
logic every single time. And then more
- 5:20
apps are coming out. So, imagine just
- 5:23
put yourself in the shoes of average
- 5:24
user, and then oh, now I have five five
- 5:28
apps. And then every single one I need
- 5:30
to learn how to navigate, how to browse,
- 5:32
and so on and so forth. And then this
- 5:34
has been the history up until now.
- 5:37
But then this was August last year, I
- 5:39
sat down with my boss. It happens to be
- 5:42
the founder of the company, so big shout
- 5:43
out to my boss. And then we asked this
- 5:46
uh question because at Commerce Tools,
- 5:48
we are an API first company, 300 plus
- 5:50
still counting. And we ask this posing
- 5:53
question, through the lens of artificial
- 5:55
intelligence, what are the foundational
- 5:57
shifts that could be made if we could
- 5:59
change drastically the way that we
- 6:01
interact with software?
- 6:03
Not in a uh static uh fashion. And the
- 6:05
answer to that question led to the
- 6:07
product that I'm going to demo right
- 6:09
now.
- 6:10
Let's go.
- 6:11
How about quick demo? Guys like the
- 6:13
idea?
- 6:14
Give me a thumbs up. Bye. I know
- 6:15
everybody's tired. Let's go. Yeah.
- 6:18
All right. Cool.
- 6:20
Look at this. I know, I'm going to zoom
- 6:22
in. No worries. So,
- 6:24
I have this query here. Create a sales
- 6:26
report for Q1.
- 6:28
And the UX side of me, when I look at uh
- 6:33
what was generated, and by the way,
- 6:35
everything here on the right side has
- 6:37
been auto-generated, guided by us, but
- 6:40
this is AI, right? Deciding on the
- 6:42
placement, on the information
- 6:43
architecture, deciding which uh
- 6:46
components had to be actually retrieved
- 6:48
from the catalog, but I don't like it
- 6:51
at all. Right? It's a Even if you don't
- 6:54
know a lot uh about UX, just let's, you
- 6:57
know, I have at least four different
- 6:59
variations because those were four
- 7:01
different terms for the same query.
- 7:03
Let's check it out. First one here, it
- 7:06
was Q1 uh Urban Thread, whatever that
- 7:09
is. Uh Q1, I see all of these KPI cards.
- 7:12
There's a lot going on here. And then my
- 7:14
intuition tells me, man, this doesn't
- 7:17
add up.
- 7:18
Okay. Second one, it's not Q1 anymore.
- 7:22
Now this is January and March. There's
- 7:24
no consistency.
- 7:26
Does that help? Yes or no?
- 7:29
No, right? This is This is You only
- 7:31
create confusion. If this is a heavy
- 7:33
personalized experience for the user,
- 7:35
imagine if every single time you need to
- 7:38
prompt, and then uh at least the model
- 7:40
will output something different. This is
- 7:42
not good, and this is just the second
- 7:44
turn. Let's have a look at the third
- 7:46
one.
- 7:47
Oh my god, now there is even more stuff
- 7:50
here on the right side. But so, this is
- 7:53
I have this component, the KPI cards, a
- 7:56
bunch of text, a bunch of charts, and
- 7:59
then this this was the beginning of a
- 8:01
journey.
- 8:02
One more?
- 8:04
Yes. Okay, now it's still Q1,
- 8:07
but still for me this still it's
- 8:09
confusing. And because this has been a
- 8:12
very experimental journey,
- 8:14
at least okay, let's let's move on here.
- 8:18
My feedback to the team and to myself
- 8:21
was no, no, and no. There's no way that
- 8:24
I would ship this to to prod whatsoever,
- 8:27
right? And then I have my colleagues
- 8:30
here just to confirm what I just said.
- 8:32
But then things evolved, and I'll like
- 8:35
to demo the current state of the
- 8:36
product. It's much more sophisticated,
- 8:39
and let's have a look. I
- 8:42
I'll like to plan a campaign, and for
- 8:44
what it's worth, I'm going to save you
- 8:46
from all the nitty-gritty details for
- 8:48
everything that is domain specific, but
- 8:50
I'm going to pick this query here,
- 8:53
and then let's see what happens. And
- 8:55
this is the the agentic orchestration
- 8:57
part that I was going to highlight.
- 8:58
Underneath the hood we have the
- 8:59
orchestrator, and the orchestrator can
- 9:01
then just extract the intent of the
- 9:03
query. Based off of the intent of the
- 9:05
query, it can locate the tools, right?
- 9:07
Those can be first party, third party
- 9:09
tools, and the outputs of this different
- 9:11
it could be agents on MCP servers,
- 9:14
combined will give
- 9:16
enough what I call ammunition and
- 9:18
context for the UX agent to eventually
- 9:21
render something that we call
- 9:23
meaningful. So, compared to the previous
- 9:26
turns,
- 9:27
this is this is decent, right? I want to
- 9:30
just remove my bias, but the overall
- 9:32
aesthetics, the look and feel of this
- 9:35
query,
- 9:36
uh it it resonates with me. Would you
- 9:39
agree? Give me a thumbs up if you like
- 9:41
if you agree. Okay, at least um the vast
- 9:44
majority here. And then see, it is
- 9:46
decent. And let me just continue here.
- 9:48
And then once again, right? This was
- 9:51
decided by AI guided by us. I would just
- 9:55
want to make make that clear
- 9:57
here. And then I'm going to touch on the
- 9:59
on the UI protocols and then how you can
- 10:00
make this happen.
- 10:02
But okay, let's see. If I approve here,
- 10:04
and then this is already live. And this
- 10:06
is pre-prod, right? So, uh this is
- 10:08
great. Let me go back to my
- 10:09
presentation.
- 10:12
Perfect. I have one more question. Are
- 10:14
you guys as skeptical
- 10:15
that this is possible? Because I can
- 10:17
tell you this it is possible. If you're
- 10:19
still skeptical, don't worry. I have all
- 10:21
of these guys uh here uh also uh every
- 10:23
day just looking at me and then
- 10:25
challenging whether uh this uh can be
- 10:27
made possible at scale, right? And then
- 10:30
uh okay. And then this is the part that
- 10:32
I'll like just to touch uh touch base on
- 10:35
the
- 10:36
uh on the three ways that you can render
- 10:38
what you just saw. And they're different
- 10:40
UI protocols. Are you guys familiar with
- 10:43
uh generative uh UI? Have you guys
- 10:45
played with it? Let me see here.
- 10:47
Okay, well, that's really cool. Uh okay.
- 10:50
So, uh what I would like just to share
- 10:52
with you guys it's all about how much
- 10:54
control you want to exercise over the
- 10:57
experience. And this matters a lot
- 10:59
because uh you know, as a
- 11:00
non-deterministic solution, uh you can
- 11:03
decide if you want something I really um
- 11:06
like this. So, let's have a look.
- 11:08
Here, this is uh ChatGPT.
- 11:11
And my query was help me find a Japanese
- 11:15
restaurant uh in SF today.
- 11:18
If you guys see here, this component
- 11:21
this component is very opinionated.
- 11:23
Would you agree with that? Here?
- 11:25
Right? So, uh you can have complete
- 11:28
control over this uh component. So,
- 11:31
depending upon the nature of your
- 11:33
business, this works really well, right?
- 11:36
And for that, let me just go back here.
- 11:39
And then this is what I call a control.
- 11:41
Essentially, you ship the component as
- 11:44
it is. The agent will pick and it will
- 11:46
display exactly the way that you
- 11:48
describe. However, depending upon the
- 11:50
nature of your business, at least for
- 11:52
us, right, at my company, where a B2B
- 11:55
SaaS, the there's so much configuration
- 11:58
that we don't want to be over uh
- 12:00
prescriptive because uh the feedback
- 12:02
that I keep getting from my customers,
- 12:04
"Oh, the flows are so confusing. There's
- 12:06
so much configuration. How can you
- 12:08
remove the cognitive load uh for me?"
- 12:11
But uh if you're like Booking, for
- 12:13
example, this approach uh works uh
- 12:15
really well. And then let's see uh how
- 12:17
it works. So,
- 12:20
essentially, you have the agent. The
- 12:22
agent will just pick the component from
- 12:24
your catalog and then it will render uh
- 12:26
as it is, right? And uh in the interest
- 12:30
uh of time, I'm not going to touch base
- 12:32
on the code snippets uh that I have for
- 12:34
this uh three different types. But
- 12:36
afterwards, if you guys are interested,
- 12:37
uh I can share the presentation and then
- 12:39
you can have a look, all right?
- 12:41
Very good. This is uh
- 12:44
at least on the left side. Let's discuss
- 12:46
a little bit on the right side because
- 12:47
this is when you give full autonomy to
- 12:49
the LLM. If you guys remember uh at
- 12:52
least the previous attempts for my
- 12:53
product, this exactly what we did. So,
- 12:56
we just said, "So, hey LLM, how uh how
- 12:58
would you compose this experience
- 13:01
knowing that you have these components?"
- 13:03
Right? But uh that was uh that was a
- 13:05
little bit uh a little bit of our
- 13:07
opinion because uh it has uh it had uh
- 13:10
some of the components available. But it
- 13:13
could happen that uh you can just
- 13:15
delegate fully to the LLM. And then
- 13:18
right now, I'm here on Claude and I
- 13:20
asked Claude, "So, hey, create an org
- 13:21
chart with three levels."
- 13:23
That was it. And then Claude just
- 13:26
rendered this diagram and it works
- 13:29
really well. Right? But here, if I put
- 13:32
myself in the shoes of a company, I'm
- 13:34
not sure I would delegate fully to the
- 13:36
LLM.
- 13:37
Because I cannot control at least the
- 13:39
app the output and the outcome. And me
- 13:42
personally, me guys, as a UX leader, the
- 13:45
UX side of me will always say no. You
- 13:48
got to be in control. There's been a
- 13:50
couple of talks here at least this week
- 13:53
on design, on taste, and judgment. And
- 13:56
this matters a lot. If you guys want to
- 13:58
embark on this journey of leveraging
- 14:00
these protocols, you don't want to
- 14:01
delegate too much
- 14:03
of the actual experience to the LLM. You
- 14:06
got to find alternatives and I'm going
- 14:07
to touch on that in just a little bit.
- 14:10
Okay, cool. And then this is how the
- 14:12
open-ended
- 14:14
approach works. So essentially there
- 14:16
there's going to be an MCP tool and then
- 14:19
this will literally ship the HTML and
- 14:23
then in a sandbox I frame environment,
- 14:26
this will be rendered in the host of
- 14:29
your choice. But it can be a chat. It
- 14:31
can be this
- 14:32
cloud. It could be a chat GPT. It could
- 14:34
be perplexity or it could be any other
- 14:37
chat. If you're willing just to to give
- 14:39
full control to the LLM, good luck. But
- 14:42
the one that I would like to highlight
- 14:44
is
- 14:46
this here and this was our choice that
- 14:48
we call the declarative. Declarative is
- 14:51
in the middle.
- 14:52
If you guys heard some of the protocols
- 14:55
and I don't want to get into the
- 14:56
specifics of each because they have
- 14:58
different characteristics. But HTMX from
- 15:01
Google, JSON render from Vercel, OpenUI
- 15:05
by Thesis,
- 15:07
those are some of the protocols that
- 15:09
will give you this in between here. And
- 15:11
let let's have a look, right? So at
- 15:14
least for my product, the one that I
- 15:17
just showed, the orchestrator agent will
- 15:20
eventually, if you think of the whole
- 15:22
traversal, the user will enter the query
- 15:25
and then there's going to be the intent
- 15:26
classification. Based off of the intent
- 15:28
classification, then the tools will be
- 15:30
invoked, the data will be retrieved, and
- 15:33
somewhat somewhat in between Alice,
- 15:37
there will be the mapping of the
- 15:38
eligible components from your catalog to
- 15:42
the entities of of the tools, right? And
- 15:46
then the orchestrator will just
- 15:47
broadcast this UI description. It's like
- 15:49
a UI spec. This UI spec will be also we
- 15:52
have this component catalog here and we
- 15:55
use the Zod schema and then you got to
- 15:57
be compliant with this protocols. This
- 15:58
is just one of the requirements and then
- 16:01
you just render that. Right? And then
- 16:03
their final output will be the native
- 16:06
UI, in this case the React components.
- 16:09
This is it. The good thing about the
- 16:11
declarative approach
- 16:13
is
- 16:15
it will be compliant with your design
- 16:16
system everywhere. This matters a lot.
- 16:19
So, in our case, we did not want to
- 16:21
delegate to the LLM because you guys saw
- 16:25
over there you can't change the copy,
- 16:27
right? So, it's not key one. Sometimes
- 16:30
it's going to be March January to March.
- 16:33
It matters a lot. So, within UX we have
- 16:36
different factors, right? We have the
- 16:38
actual UX's if you think of the overall
- 16:40
experience. There is UI, there's also
- 16:42
copy, UX writing, and so on and so
- 16:45
forth. But this approach gives us this
- 16:48
in between. It is less deterministic and
- 16:51
I think this is a really good segue to
- 16:53
some of the challenges because imagine,
- 16:55
I'm going to use my example once again,
- 16:56
the orchestrator will just fetch the
- 17:00
eligible components for that query, but
- 17:02
then it's up to the LLM how to place in
- 17:06
the UI. And this can get really really
- 17:08
messy, but
- 17:10
and those are the challenges that I'll
- 17:12
like to share with you guys here.
- 17:14
I got to be careful because I've got
- 17:15
only 30 minutes, but let's go.
- 17:18
So, the first challenge is if the agent
- 17:21
picks the components, who's in charge or
- 17:23
what entity is in charge of arranging
- 17:26
them? And this is information
- 17:27
architecture, right? This is a critical
- 17:30
aspect of UX. And then once again, if
- 17:33
you put yourself in the shoes of the
- 17:35
average customer, it matters a lot. So,
- 17:37
if you're just left alone, the placement
- 17:39
can be totally random. So, at least in
- 17:42
my team, we borrow this concept of
- 17:45
atomic design. And atomic design, it
- 17:49
goes like this. Let me just change here.
- 17:51
Uh yeah. So, as you can see, atomic
- 17:54
design, and then I have the definition,
- 17:56
is a methodology composed of five
- 17:59
distinct stages working together to
- 18:01
create interface design systems in a
- 18:03
more deliberate and hierarchical manner.
- 18:06
This helps a lot. Why? Because those are
- 18:08
the individual elements, and if you
- 18:10
think of the overall structure of the
- 18:12
page, it gives me the ability to steer
- 18:15
it as I see fit. And what we've done in
- 18:18
my team, so this UX agent, we harnessed
- 18:21
this UX agent. So, we eventually taught
- 18:24
this this UX agent what good looks like,
- 18:28
what is the optimal layout for a given
- 18:31
situation, and we have a catalog of
- 18:33
different templates. But I'll like to
- 18:36
show you at least this because this
- 18:38
detail is very important.
- 18:41
Here,
- 18:42
it is the overall hierarchy hierarchy.
- 18:45
So, if you remember part of the
- 18:47
orchestrator, the orchestrator will
- 18:48
eventually just fetch the eligible
- 18:51
components to accomplish the query of
- 18:54
the user, but then the next big question
- 18:56
is, how do we arrange that? The approach
- 18:59
that we used was think of this
- 19:00
hierarchy. So, you have the overall
- 19:03
page, the layout. The layout will
- 19:06
contain different slots. So, think of
- 19:08
this one here, the header. You can have
- 19:10
the main, and then you can have sub sub
- 19:13
slots. Sub slots can have sub slots.
- 19:16
And within the sub slots, you can have
- 19:18
eligible component categories. And then
- 19:21
this will allow us to steer eventually
- 19:24
the the the optimal placement of the
- 19:27
components that have been retrieved by
- 19:30
the orchestrator. So this is literally
- 19:33
us codifying
- 19:35
our UX knowledge into this agent. So the
- 19:38
next time, you know, it doesn't matter.
- 19:40
We'll just follow the same approach. And
- 19:43
then this is the hierarchy that we're
- 19:44
using. So layout to slot to sub slot to
- 19:47
components. However, because of the
- 19:50
orchestrator, we we flipped the order.
- 19:52
So from components, components will map
- 19:55
to sub slot, sub slots to slots, and
- 19:57
slots to templates. And then we can just
- 20:00
arrange as needed.
- 20:02
So this was a hell of a challenge. It is
- 20:04
still a challenge, by the way, and it's
- 20:06
a really good segue to the second one,
- 20:08
the second challenge, which is
- 20:11
the actual design, your design system
- 20:14
and your catalog. This becomes the
- 20:17
heartbeat of the whole thing, right? I
- 20:19
cannot stress enough, if you guys see
- 20:21
the potential of leveraging this UI
- 20:23
protocols for your product, this is
- 20:26
going to be a big deal, right? So we're
- 20:28
pushing the boundaries and then we're
- 20:29
testing and we keep on testing these
- 20:32
different protocols that I mentioned,
- 20:33
ATUI, JSON Render,
- 20:35
Open UI, and so on and so forth. But
- 20:38
this has been a quite challenging
- 20:40
because the the catalog is the contract
- 20:42
between the agent and the UI.
- 20:45
So every property mat- matters. And not
- 20:48
only for the catalog, but for the layout
- 20:51
as well. So if you remember, the layout
- 20:53
has its own components, the slots and
- 20:56
the sub slots. Each of those components
- 20:58
will have its own attributes. And all of
- 21:01
that, this curation, let me just
- 21:03
encapsulate into curation. This curation
- 21:06
is absolutely needed so that you can
- 21:08
deliver something meaningful. Not as
- 21:10
some demo that you will see out there
- 21:12
for the sake of demo, right? So, this
- 21:14
this this will give you a control will
- 21:17
allow you to steer from UX perspective.
- 21:20
Very good. And last but not least,
- 21:23
one significant challenge that we had is
- 21:26
that my teams do not design the pixel
- 21:28
anymore. I don't know if you could see
- 21:30
that, right? So, we're not here
- 21:32
designing at the entire flow. Now, AI
- 21:35
can
- 21:36
dictate that to a significant extent,
- 21:37
but the nature of the work shifted quite
- 21:40
a bit and it's been an interesting
- 21:42
journey to say the least, a really good
- 21:43
one, but even for the non-technical PMs
- 21:47
and UX designers, it it was a big hit
- 21:51
because right now we talk about the
- 21:53
schema. Let's talk about this curation
- 21:56
of the catalog. Let's talk about the
- 21:58
rules. Let's talk about the synthetic
- 22:00
data that we can generate. How can we
- 22:02
generate the queries that will map to a
- 22:05
given component as part of this mapping
- 22:07
logic? Let's talk about interaction
- 22:10
patterns. So, this
- 22:12
if once again, if you guys are going to
- 22:14
embark on this journey, be aware that
- 22:15
the people element is very important.
- 22:18
When I talk to other leaders, I I talk
- 22:20
about the three P's: people, product,
- 22:23
and process, right? And then a very
- 22:25
lightweight process, but this matters a
- 22:27
lot.
- 22:28
And with that,
- 22:30
I'm going to leave a couple of resources
- 22:33
here. So, and by the way, those are
- 22:35
talks from AIE
- 22:37
for what it's worth. So, yeah, people
- 22:39
that have been talking about this
- 22:41
protocols over and over and over. So,
- 22:43
please just take advantage, take a
- 22:45
screenshot.
- 22:46
And if you guys want to connect with me
- 22:49
here,
- 22:50
yeah, my LinkedIn or just take a
- 22:51
screenshot. I'll love to talk more about
- 22:55
the topic. I can tell this is just a
- 22:57
matter of time, right? So, this is
- 22:58
coming. So, thank you so much.
- 23:02
>> I know.
- 23:15
>> [music]