Skip to content

ogatakatsuya/UXCascade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UXCascade

UXCascade: Scalable Usability Testing with Simulated User Agents

arXiv License: MIT

This repository is an unofficial implementation of the system described in:

UXCascade: Scalable Usability Testing with Simulated User Agents Steffen Holter, Eunyee Koh, Mustafa Doga Dogan, Gromit Yeuk-Yin Chan arXiv:2601.15777 [cs.HC], 2026 https://arxiv.org/abs/2601.15777


Overview

UX evaluation bottlenecks are growing as AI-assisted workflows let designers generate interface variations faster than they can be reviewed. UXCascade addresses this by simulating diverse user persona agents on a target web interface and aggregating their usability feedback into a structured, interactive analysis tool.

The core workflow follows five stages:

① Explore  — review agent goals and task outcomes
② Observe  — inspect trait-based behavioral distributions
③ Isolate  — drill into specific usability issues and their root causes
④ Propose  — generate targeted HTML fixes via a chat interface
⑤ Evaluate — re-simulate a single step to assess the impact of a fix

Key components:

Agent Role
Simulation Agent Drives a live browser session as a persona-grounded user
Tagging Agent Labels each reasoning step with a cognitive intent tag
Issue Detector Extracts structured usability issues from think-aloud traces
Editor Agent Generates DOM-level HTML patches from natural-language instructions
Preview Agent Re-runs one simulation step on the patched HTML to evaluate the fix

Features

Experiment Setup

Define the target URL, persona trait dimensions (e.g. age group, tech literacy, device type), and task goals. UXCascade automatically generates all trait combinations and spins up one LLM agent per persona–goal pair, running them in parallel against the live interface.

Each agent navigates the site as that persona, recording every action, screenshot, and reasoning step. The result is a rich, multi-perspective dataset of how different types of users experience the same UI — without recruiting a single human participant.

Issue Analysis

Filter and triage usability issues by severity (S1–S4) across all agent runs. Each issue includes the affected element, root cause, suggested fix, and UPT taxonomy codes — with a one-click path to the fix workflow.

Issue Analysis

Step-by-Step Agent Journey

Replay any agent's browsing session step by step. Each step shows the agent's on-screen action, annotated reasoning, and behavioral tags — making it easy to spot exactly where and why a user gets stuck.

Step-by-Step Journey

AI-Powered Fix Generation

Describe a UI change in plain language. The Editor Agent translates the instruction into precise DOM-level patches (CSS selector + action + value) and shows a live preview of the modified interface.

Fix Generation

Fix Evaluation

After applying a patch, the Preview Agent re-runs the affected simulation step and produces a Difference Report — comparing the agent's action before and after, and estimating whether the issue was resolved.

Fix Evaluation


System Architecture

┌─────────────────────────────┐
│     Experiment Setup        │
│  Persona Traits + Goals     │
└────────────┬────────────────┘
             │
             ▼
┌─────────────────────────────┐
│     Simulation Phase        │
│  browser-use Agent          │
│  Raw HTML / Actions /       │
│  Screenshots / Reasoning    │
└────────────┬────────────────┘
             │
             ▼
┌─────────────────────────────┐
│     Annotation Phase        │
│  Tagging Agent              │
│  Issue Detector Agent       │
└────────────┬────────────────┘
             │
             ▼
┌─────────────────────────────┐
│     Refinement Phase        │
│  Editor Agent → DOM patches │
│  Preview Agent → re-sim     │
└─────────────────────────────┘

The frontend is built with React 19 + TypeScript + Vite, and the backend with FastAPI + Python 3.13. Storage uses PostgreSQL for structured data and MinIO for screenshots.


Quick Start (Docker)

The easiest way to get everything running:

git clone https://github.com/your-org/UXCascade.git
cd UXCascade

Copy the backend environment file and fill in your API keys:

cp backend/.env.sample backend/.env
# Edit backend/.env and set ANTHROPIC_API_KEY

Start all services (PostgreSQL, MinIO, backend, frontend):

docker compose up --build -d
Service URL
Frontend http://localhost:5173
Backend API http://localhost:8000
API docs (Swagger) http://localhost:8000/docs
MinIO console http://localhost:9001

Citation

If you use this implementation in your research, please cite the original paper:

@article{holter2026uxcascade,
  title   = {UXCascade: Scalable Usability Testing with Simulated User Agents},
  author  = {Holter, Steffen and Koh, Eunyee and Dogan, Mustafa Doga and Chan, Gromit Yeuk-Yin},
  journal = {arXiv preprint arXiv:2601.15777},
  year    = {2026},
  url     = {https://arxiv.org/abs/2601.15777}
}

License

This implementation is released under the MIT License.

The paper itself is published under CC BY-NC-ND 4.0.

About

UXCascade: Scalable Usability Testing with Simulated User Agents

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors