Ports

Local preview servers bound to comparison sessions.

2 / 4 in use
5173Running

Agent A

5174Running

Agent B

5175Free
5176Untracked

Occupied by an unknown process.

Ports
Local preview port board — running, free, and untracked statuses.
AI UI Comparator
Sample run (2 sessions)sample-prompt
CompareGridFocus

Model A

Model B

live
4 available / 2 in use
Comparison results
Results workspace: batch header, layout controls, and side-by-side session panes.

New Comparison

Compare multiple models on the same session input.

Many models, one input

Active

Reuse one prompt and starter across multiple models.

One model, many inputs

Hold the model fixed; vary prompt/template pairs.

Prompt

Landing page prompt

Models

3 selected
Search models...
Model AP1Model BP1Model CP2Model DP2Model EP3
New evaluation
Comparison mode picker, prompt select, and multi-model chip grid.

Model A

Sample run

Stop
Session card
Single result pane with model header, Stop action, and skeleton preview.

Models

3 selected
Search models...
Model AP1Model BP1Model CP2Model DP2Model EP3Model FP1
Model picker
Searchable agent chip grid with selected/unselected provider badges.

AI UI Comparator

Local side-by-side AI UI generation

What

A local tool for side-by-side comparison of how AI models generate UI. A custom pi-agent runs a tight look → read → write/edit loop with four tools, and each worker is isolated by Anthropic's sandbox-runtime.

Technicals

Installable on Linux with a single script. Express API + React UI; Postgres for batches, prompts, and run state. Each session gets an isolated workdir from a starter template with network isolation except OpenRouter for model calls; agent events stream over SSE; completed runs launch managed Vite previews with a port registry that can reap orphans.

Why

Comparing UI-capable models meant juggling prompts, starters, and sandboxes by hand. This is the local answer — reusable prompts, isolated workers, side-by-side results, all on your machine.

Where

Upcoming

  • Replace the Postgres container with SQLite to simplify operations