Tulika Pandey
Agent Experience Pattern — a graph-driven experience pattern for agentic products
1
About the project

Every AI agent Mobius sold needed its interface designed by hand. I built the system that generates it instead.

Mobius sells AI agents to enterprises through a marketplace. Every agent already carries a structured model of what it knows and does: its intents, the things it manages, the actions it can take, the rules it operates under. I designed MetaUX, a pattern that reads that model and produces the interface from it, so screens follow from the agent instead of being drawn for it. Operators run the agent. Builders configure it. Both come out of the same model.

1 day

baseline interface setup, previously 3 to 8 weeks design plus 1 to 3 months development

4 live, 40+ queued

agents on the pattern, clients waiting on deployment

~80%

of agent journeys the pattern covers, canvas screens excluded

ObjectiveThe marketplace agent identifies a gap and defines the solution for it, as a graph. Everything the solution is, the intents it serves, the objects it manages, the actions it takes, the rules it holds, is already in that graph. Only the interface still waited to be designed and built by hand. The objective was to derive the interface from the graph the solution already exists in, so an identified opportunity reaches a usable product without a manual build in between.
Out of scope
  • Visual identity per agent. Every agent renders in the same UI and only the content changes.
  • Canvas-based agents, known before rollout and still open.

My role

Manager, Agent Experience Engineering

[[DURATION_PLACEHOLDER]]

Team: 3 designers and 10 developers, with a direct line to the VP of Engineering

  • UX architecture and pattern definition
  • Operator and builder experiences
  • Rollout to product owners building their own agents
2
The scale problem behind the marketplace

The scale problem behind the marketplace.

Mobius builds AI-powered digital transformation products through agentic marketplaces. Enterprises discover, purchase, configure, and deploy agent products, each carrying capabilities, business logic, a knowledge graph, and governance rules.

Challenge

The marketplace covered discovery and deployment, but not the interface. Every purchased agent still needed screens designed by hand, so delivery ran at the speed of design.

Marketplace
Agent purchased
Tenant instance created
Graph instantiated
Agent interface needed

Where it showed up

In the business strategy

Agents sold faster than they could be put in front of users. Demand queued behind design capacity.

In the product

With no reusable interface architecture, every new agent and client variation became a custom build.

In the experience

Journeys differed between agents, patterns were redrawn each time, and delivery stayed slow.

3
Finding the pattern

How the pattern emerged.

The pattern came from repeated design work. By the fourth manual agent build, the same design decisions were recurring: every agent needed a dashboard, every entity needed a listing, and every listing needed the same search, filter, and action controls.

So I ran the exercise directly, cataloguing the components that appeared across agent interfaces and the variants inside each one. Forms, table lists, card listings, canvases. Cards with images and without, with statuses and without.

The exercise turned up the connection I needed. A list is data from a schema, and that schema is itself an object in the agent's graph. The component was never really a design choice: it followed from the object and the attributes it carried. That meant the interface could be resolved by conditional checks against schema attributes rather than redesigned per agent.

ComponentVariants foundWhat selects the variant
Card listingwith media, without media · with status, without status · with countspresence of a media attribute, a bounded enum, a countable relation
Table listselectable rows · row actions · paginatedEvent nodes on the entity, number of records
Formcreate · edit · read onlythe same schema as the listing, narrowed by Business Laws
Detailsingle column · split with execution panelwhether the entity carries Result and Trace nodes
Dashletmetric · trend · comparison · distributionthe shape of the Result being expressed
Canvasgraph · workflow · artifactnot derived. built per agent, the one exception

The catalogue is the exercise. Once the variants were written down, the selection between them turned out to be a conditional check against schema attributes, not a design decision.

What every agent had in common was the graph: a structured model of intents, entities, actions, results, laws, processes, and traces.

The question was“What screens does this agent need?”
It became“What interface responsibility does each node type carry?”

Pushback

Several product owners expected they would not be able to configure objects themselves. That came from not having worked with the graph structure before, not from a problem with the pattern. Walking through two graphs, showing where their objects sat and how the same pattern resolved against each, settled it.

4
Journeys & Information Architecture

Mapping who moves through the product, and where.

Marketplace operators, tenants, and builders reach different surfaces for different reasons. Every path was mapped against the information architecture before the grammar was written, because the pattern only holds if all of them resolve to the same underlying structure. The simplified version below is readable; the working maps are what it was drawn from.

MarketplaceProvider onboardingDiscover and buyTenant instanceGraph instantiatedIntent dashboardObject listingObject specific actionsDetails viewHistory and auditGovernance dashboardGraph canvasEdit nodes and relationsCausal analysisSimulationsArtifact canvasArtifact managementCommand definitionData transformationSHARED · MARKETPLACE TO DEPLOYMENTSHARED ENTRY FOR BOTH PERSONASOPERATORBUILDER

Redrawn from the working maps below. Use the controls to isolate a path.

Marketplace operator journey
Marketplace operator journey
Tenant journey
Tenant journey
All journeys and information architecture
All journeys and information architecture
5
The MetaUX grammar

A reusable grammar for agent interfaces.

Each agent already had a structured graph of intents, entities, actions, results, laws, processes, and traces. Instead of inventing screens for every agent, the interface is composed from graph node types and their relationships.

RuleNode typeBecomes
1IntentA dashboard tab, one per business intent
2EntityObject card, listing, and detail, all following the schema
3ResultA chart dashlet, one per business result
4EventA contextual action on the entity it belongs to
5TraceActivity log, audit trail, and run history on the record
6LawGovernance, stated on the dashboard and enforced on the entity
7ProcessA workflow, as a pipeline for operators and editable for builders
1

Intent becomes a dashboard

Each Business Intent becomes a dashboard tab. Users switch between dashboards based on what they are trying to achieve.

Smart homeOptimize Energy & Cost, Run Office Routines, Manage Devices
DevSecOpsGovern Policies, Secure the Delivery Pipeline, Maintain Infrastructure Compliance
Rule 1 · detail
Intent becomes a dashboard detail

Rule 1 · the intent switcher. Each Business Intent is one tab.

Rule 2 · detail
Entity becomes object cards, lists, and details detail

Rule 2 · the schema’s records as object cards, with the standard listing controls above them.

2

Entity becomes object cards, lists, and details

Business Entities appear as object cards on dashboards and expand into listing pages with a card/table toggle, search, filter, sort, and both standard and entity-specific actions.

Why: The triad follows the schema, so a card is the object summarised, a listing is the schema's records, and a detail is one record in full. Because every listing is schema data the controls stay global, and only the actions vary, since those come from the Event nodes attached to that specific entity.

Smart homeDevices, Routines
DevSecOpsPolicies, Infrastructure, Pipelines
3

Result becomes measurable output

Business Results become charts, metrics, comparisons, and dashlets.

Smart homeEnergy Usage Pattern vs Baseline, Peak Load Hotspots
DevSecOpsBuilds Trend, Policy Violation Trend
Rule 3 · detail
Result becomes measurable output detail

Rule 3 · Business Results as charts and comparisons, one dashlet per result.

Rule 4 · detail
Event becomes action detail

Rule 4 · the actions on this entity, drawn from its Event nodes.

4

Event becomes action

Event nodes become contextual actions specific to the entity.

Smart homeTroubleshoot device, Create routine
DevSecOpsRequest approval, Run scan, Edit workflow
5

Trace becomes feedback and traceability

Business Traces become activity logs, audit trails, and action history.

Smart homeRoutine Execution History, Device Action Log
DevSecOpsPolicy Evaluation History, Pipeline Run Audit Trail
Trace becomes feedback and traceability in context

Rule 5 · execution history, success rate, and last run on the entity record.

Rule 6 · detail
Law becomes governance detail

Rule 6 · the laws the agent operates under, stated at the top of the dashboard.

6

Law becomes governance

Business Laws govern what users can see and do. The intent dashboard states which laws the agent operates under, so governance is continuously visible rather than surfacing only at the point of refusal.

Why: The rule splits by what the restriction protects. Fields the user has no right to know exist are hidden, and actions they can see but cannot perform are disabled rather than removed, so the restriction stays legible instead of silently changing the interface.

Smart homeOccupancy Privacy Rules, Energy Efficiency Standards
DevSecOpsSeparation of Duties on Approvals, Data Residency Restrictions
7

Process becomes workflow

Process nodes become the multi-step sequences an agent runs, across five orchestration types: API, ML, ETL, LLM, and infrastructure.

Why: Operators get a pipeline view of the sequence; builders get the same sequence as an editable workflow.

Smart homeRoutine Creation and Scheduling, Device Onboarding
DevSecOpsPolicy Approval Workflow, Build, Scan, and Release Pipeline
Process becomes workflow in context

Rule 7 · the process as an editable sequence, with the step palette on the left.

The conversation surface

Alongside the seven rules, every agent interface carries a conversation window. It is part of the pattern rather than a per-agent decision: the same docked window on the dashboard, the same full screen and split views, in the same place on every agent. Natural language is how people expect to work with an agent, so the pattern guarantees the surface is there and consistent.

What the conversation can actually do is not the pattern's to define. That follows from the agent's reasoning features and its graph definition, owned by the teams building them. The pattern places the surface; the agent determines its range.

Docked window

Docked window

Docked beside the graph-derived dashboard

Full screen, single view

Full screen, single view

Session history and prompt in full screen

Full screen, split view

Full screen, split view

Two sessions side by side

Iterations

A conversation anchored to the whole dashboard can only answer in general terms. These iterations moved the interaction down to the widget, so a question inherits the object it was asked from and the answer comes back scoped to it.

Conversation iteration 1 — prompt anchored to the dashboard
Iteration 1 · anchored to the dashboard
Conversation iteration 2 — prompt scoped to the widget
Iteration 2 · scoped to the widget
6
Two experiences, one graph

Two experiences, one graph.

The same graph produces two experiences. Operators use the agent without seeing the graph. Builders work directly with the graph.

Operator

  • Operators never see the graph
  • They see dashboards, objects, actions, charts, and traces, in the same order on every agent
  • The flow is the same on every agent, by design
  • Governance is still visible: operating laws on the dashboard, governance and version history on the entity
Screen 01

Intent dashboard

The entry point for both journeys. One tab per Business Intent, the operating laws stated across the top, then entity counts, result dashlets, and exception summaries, all composed from node types.

Intent dashboard
Screen 02

Entity listing, cards

The schema’s records. Status, counts, and imagery come from schema attributes, which is what decides the card variant.

Entity listing, cards
Screen 03

Entity listing, table

The same records in the table variant. The toggle, search, filter, and sort are identical on every agent because every listing is schema data.

Entity listing, table
Screen 04

Create entity

Rule 2 in reverse: the form is generated from the same schema that renders the listing, so the fields and the columns cannot drift apart.

Create entity
Screen 05

Entity detail

One record in full. Configuration on the left, execution and performance on the right, governance and version history below. The operator never sees the graph, but does see what the agent did and under whose authority.

Entity detail

Builder

Builders needed the opposite contract. Operators use the agent; builders shape it. They enter through the same dashboard as operators, then move into the graph. The builder experience exposes the graph structure so agent owners can manage intents, laws, results, processes, workflows, schemas, and executable artifacts. The graph becomes a product surface, and governance is part of the product model.

The graph canvas and the artifact management canvas both carry governance, and neither composes from the pattern. Both were built on Flowbite rather than from scratch, which kept the effort on the graph-to-interface mapping.

The recurring question from product owners was some version of “how do I find this” or “how do I configure this”, where this was their own business object. The pattern was legible in the abstract but not against their specific case until they saw two examples resolve end to end. After that the question stopped being asked.

Screen 01

Governance dashboard

The agent’s whole operating picture: intents, results, processes and laws counted per agent, the business overview flow, and live agent activity in one place.

Governance dashboard
Screen 02

Governance dashboard, navigation open

The same view with the tree expanded, showing how business, operations, cognition, and learning are organised.

Governance dashboard, navigation open
Screen 03

Graph view

The graph as a working surface. The counters along the bottom are the seven node types the grammar is built on, read straight from the agent.

Graph view
Screen 04

Workflow config

Rule 7 in edit mode. The step palette on the left, the sequence on the canvas.

Workflow config
Screen 05

Workflow run detail

A single run: version, definition, variables, incidents, audit log, and called flows.

Workflow run detail
Screen 06

Artifact manager

Reusable artifacts across agents, from playbooks down to atoms, with reusability and intelligence scored per agent.

Artifact manager
7
Coverage, limits, and proof

Coverage, limits, and proof.

The pattern covers journeys built from dashboards, listings, details, actions, charts, and traces. Those compose from the graph reliably.

Coverage

The pattern expresses about 80% of agent journeys. It breaks in one specific place: canvas screens. A marketing agent is the clearest case, where campaign creation is canvas-based pipeline building and does not resolve from the graph.

One limit was known before rollout and still stands: canvas-based agents. A CMS DITA agent needs a document canvas, and a low-code UX builder needs an editing canvas. The canvas is the one component that does not compose from the graph, so it is built manually per agent while the rest of the interface still follows the pattern.

The graph canvas, built manually on Flowbite

Graph canvas

The graph canvas, built manually on Flowbite.

Artifact management, the second governance canvas

Artifact manager

Artifact management, the second governance canvas.

One rule, two graphs

Rule 2 resolved against two different agents. The structure and controls are identical because both listings are schema data; only the records and the entity-specific actions change.

Smart home agent · DevicesDevSec Ops agent · PoliciesDevicesSearchFilterSortLiving room thermostatOnline · 2 spacesTroubleshootEntry sensor, main doorArmed · 1 routineTroubleshootKitchen lighting groupOffline · 4 devicesTroubleshootSchema: Device · name, status, space, routine countPoliciesSearchFilterSortSecrets in source controlEnforced · 12 pipelinesRun scanBase image allowlistDraft · 4 pipelinesRun scanApproval separation of dutiesEnforced · 9 pipelinesRun scanSchema: Policy · name, state, scope, pipeline countSame controls, from schemaActions differ, from the Event nodes on each entity
071421 weeksBEFORE · PER AGENTDesign · 3 to 8 weeksDevelopment · 1 to 3 monthsscales with app complexity and team sizeAFTER · PER AGENT1 daySource the graph · Define the domain · Deploythe pattern itself is built once, not per agent

The delivery claim, substantiated

Before: one agent interface took 3 to 8 weeks of design and 1 to 3 months of development, scaling with the complexity of the app and the size of the team. After: the pattern is built once, and each new agent's interface follows from its source graph plus basic deployment, which brings baseline setup to about a day.

Adoption

4 agents are live on the pattern and more than 40 are in the pipeline, with clients waiting on deployment. It was rolled out to the other product owners building their own agents, who apply it themselves from a Confluence doc covering how the pattern works.

8
Strategic Value

UX as product infrastructure.

Strategy

Because the graph-to-interface mapping is explicit, interface generation is repeatable, and a repeatable mapping can be executed by something other than a designer. Training a UX agent on the pattern is a stated intent for the framework, not a side effect: the rules, the node types, and the conditional checks on schema attributes are the training structure.

What I would do next

This was framework work. Every agent currently renders in the same UI and only the content changes, which is correct for proving the mapping and insufficient as a product. The next work is visual language and theming: giving agents distinct identities without breaking the structure that makes them learnable. After that, automating generation, since the mapping is already explicit enough to be executed rather than applied by hand.

What this taught me

The pattern was not adopted because it was documented. It was adopted when product owners saw it resolve against two graphs that were not mine. Designing something other people apply without me in the room turned out to be less about writing the rules well and more about making the rules visible on someone else's object, in their domain, with their vocabulary. The other thing I would carry forward is that knowing the limit early was worth more than closing it. The canvas case was clear before rollout, and naming it kept the pattern credible everywhere it did work.