design-judge
v1.0.0
Published
Spawn AI judge personas to A/B test two designs and pick the best one
Readme
design-judge
A/B test two designs with 10 AI judge personas. Each judge evaluates both images from a distinct expert lens and picks a winner. A synthesizer tallies votes and gives a final verdict with confidence and risks.
npx design-judge imageA.png imageB.png --context "landing page hero, goal: signups"Install
npm install -g design-judge
# or just use npxUsage
export ANTHROPIC_API_KEY=your_key_here
# Local files
npx design-judge old.png new.png --context "mobile checkout flow"
# URLs
npx design-judge https://example.com/v1.png https://example.com/v2.png \
--context "landing page hero, goal: signups" \
--label-a "Current" --label-b "Redesign"
# Fewer judges, smarter model
npx design-judge a.png b.png --judges 5 --model claude-sonnet-4-5
# Fast judges, smart synthesis
npx design-judge a.png b.png --model claude-haiku-4-5 --synth-model claude-sonnet-4-5Options
| Flag | Description | Default |
|------|-------------|---------|
| --context, -c | What the design is for | "A digital product" |
| --label-a | Name for Design A | "Design A" |
| --label-b | Name for Design B | "Design B" |
| --judges, -j | Number of judge personas 1–10 | 10 |
| --model, -m | Model for judges | claude-haiku-4-5 |
| --synth-model | Model for synthesis | same as --model |
Output
- Per-judge scores (A vs B) with specific visual observations
- Vote tally
- 🏆 Winner with reasoning + confidence
- ⚠️ Things to watch in the winning design
- 🥈 Losing design's biggest strength
Judge personas
| Persona | Focus | |---------|-------| | UX Designer | Hierarchy, flow, clarity | | End User | First impression, instinct | | Conversion Expert | CTR, funnel, action | | Brand Strategist | Consistency, tone, positioning | | Accessibility Advocate | Contrast, readability, tap targets | | Developer | Responsiveness, edge cases | | Skeptic | What breaks or confuses | | Marketer | Which design sells harder | | Mobile-First Judge | 375px screen, thumb reach | | Contrarian | Non-obvious strengths |
Accepts local file paths (png, jpg, gif, webp) or URLs. Requires ANTHROPIC_API_KEY.
Requirements
- Node.js 18+
ANTHROPIC_API_KEYenvironment variable
License
MIT
