How We Build

Your Frontend Has a New Type of User!

Agents are becoming operational users of software. UI/UX structure affects how they perform, and for many teams, its already here.

May 22, 20267 min read

By Shane Fast

Your Frontend Has a New Type of User!

A button slightly out of place? A loading spinner that flashes too quickly? A modal that appears half a second late? Most people barely notice.

Autonomous systems do though...

And increasingly, they are becoming operational users of software.

Browser agents, autonomous QA systems, accessibility tooling, operator copilots, workflow automation platforms, and AI assistants are all beginning to interact directly with interfaces designed for humans.

The reality is that modern frontends are deeply hostile to machine navigation. Not intentionally hostile, just optimized for a operator made of skin and bones.

Humans Can Infer, Agents Cannot (At least not as well).

A human user can usually figure out:

  • Which "Continue" button matters
  • Whether a dimmed button is disabled or still loading
  • That a spinning icon means "wait"
  • A hover menu contains the actual action
  • And that the save succeeded because a toast notification briefly appeared

An autonomous system has to infer all of that from DOM structure, accessibility metadata, visible text, screenshots, and interaction history.

In many modern applications, this is surprisingly difficult.

Interfaces filled with unstable selectors, nested modals, hidden states, ambiguous actions, animation-driven workflows, and dynamically changing layouts create friction not just for test automation, but for any autonomous system attempting to navigate reliably.

Most modern frontends effectively ask agents to dock without instrumentation, no beacons, no telemetry, no defined approach path.

A New Operational User with an altogether different brain

Historically, software systems had fairly clear boundaries:

  • APIs were designed for machines
  • GUIs were designed for humans

That division is blurring.

Agents are increasingly consuming graphical interfaces directly because many workflows only exist in the UI layer, enterprise systems are often not fully API-driven, browser-based automation is operationally convenient, and AI systems can reason through interfaces similarly to humans better and better.

This creates a new design paradigm: not just human-readable UX, but also machine-readable UX.

Not to replace humans, but rather a new user type alongside us.

Running an Experiment

To explore this, I created three versions of the same application:

  • Friendly Mode — an intentionally agent-friendly interface with stable selectors, explicit state indicators, semantic structure, machine-readable metadata, and reduced ambiguity.
  • Regular Mode — a fairly typical modern frontend.
  • Hostile Mode — an intentionally difficult interface with ambiguous labels, delayed state changes, unstable selectors, extra DOM churn, and hidden or shifting controls.

For us humans, each version looks and feels identical.

I then ran 50 benchmark trials against each mode using Testronaut, an automated browser agent testing framework, backed by OpenAI GPT-5.4. Each run executed the same mission on a live demo application: log in, add a task, start a task, generate a report, and log out.

The goal was not to prove anything universally, but to test if interface structure materially affects agent efficiency.

The results were difficult to ignore.

Preliminary Findings

Mode       Median Duration    Median Tokens
Friendly   ~100s              ~21k
Regular    ~115s              ~23k
Hostile    ~467s              ~27k

The hostile interface typically took nearly five times as long for the agent to complete the same task successfully.

Not because the underlying business logic changed. Only the interface structure changed.

The agent-friendly version consistently reduced execution time, token usage, turn count, and retry frequency. The hostile version didn't produce failures, rather it produced expensive, unstable, unpredictable completions.

Interface ambiguity significantly increased operational cost. That cost shows up as latency, retries, token consumption, and execution unpredictability.

Telemetry Matters

One pattern emerged clearly during testing: agents perform significantly better when interfaces expose explicit states.

<button
  aria-busy="true"
  data-agent-state="loading"
>

This is dramatically easier for an autonomous system to reason about than a subtle animation, a spinner with no semantic meaning, or a button that silently ignores clicks during async processing.

Humans infer state visually. Agents benefit from being hit on the head more directly (with direct wording).

This starts to look less like traditional frontend design and more like navigation system design, built for users that cannot ask for clarification and pay massively for guessing wrong.

Accessibility and Agent-Friendly UI Overlap Heavily

Many "agent-friendly" practices are already considered good engineering:

  • Semantic HTML
  • Accessibility metadata
  • Deterministic workflows
  • Stable automation hooks
  • Explicit loading states
  • Clear form labels
  • Recoverable flows

Teams that already prioritize accessibility and frontend testability may have inadvertently been building for agents all along.

Astronaut meme: "Wait, a good UI design is accessible already?" / "Always has been."

That overlap matters. This is not about creating a hidden interface layer for AI systems, but rather about reducing ambiguity, which turns out to benefit everyone.

APIs Standardized Backend Communication

When APIs emerged as the dominant pattern for machine-to-machine communication, they gave systems predictability, structured communication, and explicit capabilities.

Autonomous systems operating graphical interfaces currently rely heavily on inference. This works surprisingly well, but it is also expensive, noisy, and fragile.

We may eventually see the emergence of agent-readable UI metadata, frontend interaction contracts, and standardized operational semantics for interfaces. Not because humans need them, but because autonomous systems increasingly do.

Agent-Friendly UI

To explore this space further, we started an open repository called Agent-Friendly UI, which is a collection of emerging patterns, principles, anti-patterns, and implementation ideas around building interfaces that autonomous systems can understand and operate reliably.

This is intentionally early-stage and experimental.

But the signal from the data is real: interface structure materially affects how autonomous systems perform. Frontends are no longer interacted with exclusively by humans, and designing for that reality is no longer light-years away.

For many teams, it is already here.