In the works — first release soon

Your generator gave you 6 screens. UXLoom proves you're missing 9 states.

v0, Lovable, Figma Make, Claude — every AI generator hands you the happy path. UXLoom is the critic layer: it takes the screens any generator produces, weaves them against your journey definition, and proves what's missing before a line of code exists.

Star the repo to follow the build uxloom on npm Open source · MIT · no sign-up, no mailing list

The problem

The happy path is not a product.

Generators are astonishing at the first draft: six clean screens, ideal data, nothing loading, nothing failing, nobody offline. Then real users arrive with empty carts, expired sessions, and airplane mode.

Those gaps used to surface in code review, QA, or production. UXLoom surfaces them at design time — as a machine-checkable report, not a designer's hunch.

$ npx uxloom check ./design

 journey.graph.json parsed — 6 screens, 14 transitions

✖ 2 dead ends       checkout/error has no exit transition
✖ 1 unreachable     order-status is never entered
✖ 9 missing states  see coverage matrix below
▲ 3 contrast fails  btn.secondary 2.9:1 (WCAG needs 4.5:1)
▲ 2 touch targets   cart/remove is 28×28 (min 44×44)
▲ 1 overflow risk   de-DE +34% breaks nav label

journey coverage: 21/30 required states · 70%

State coverage

Every screen, every state, accounted for.

UXLoom models your journey as a state machine and checks each screen for the states real usage demands. This is the matrix behind the headline — six generated screens, nine required states nowhere to be found.

Coverage for a typical generated checkout flow. ● present · ✖ required but missing · – not required for this screen.
screen default loading empty error offline
sign-in
browse
search
cart
checkout
order-status

What UXLoom proves

Five checks. Zero opinions, all evidence.

Journey completeness

Your flow is a state machine, so UXLoom treats it like one: it finds unreachable screens, dead ends, and transitions with no error path.

State coverage

Empty, loading, error, and offline states — checked per screen against what the journey actually requires, not a generic checklist.

WCAG contrast

Every text and interactive color pair measured against WCAG thresholds, so accessibility failures never survive to implementation.

Touch targets

Interactive elements verified against minimum target sizes before anyone taps the wrong thing on a real phone.

Text expansion

Labels stress-tested with localization growth factors to catch the German string that breaks your nav before translators do.

Proof, not vibes

Every finding is a deterministic check over design-as-data. Same input, same report — reviewable, diffable, CI-friendly.

How it works

Threads and screens, woven together.

A loom holds warp threads under tension and weaves the weft through them. UXLoom holds your journey under tension and weaves your screens through it — anywhere a thread doesn't cross a screen, you have a gap.

Generate anywhere

Keep using v0, Lovable, Figma Make, or Claude. UXLoom doesn't replace your generator — it critiques whatever it produces.

Define the journey

Describe the flow once in JourneyGraph, an open design-as-data format: screens, states, transitions, and requirements.

Get the proof

Run uxloom check — or let your agent run it — and get a precise report of every missing state, dead end, and violation.

journey.graph.json
{
  "screen": "checkout",
  "states": ["default", "loading", "error", "offline"],
  "transitions": [
    { "on": "pay",          "to": "order-status" },
    { "on": "pay:error",    "to": "checkout#error" },
    { "on": "retry",        "to": "checkout#loading" }
  ]
}

Agent-native

Built for the agent loop, not around it.

UXLoom ships as an MCP server, so any agent can call it mid-conversation: generate screens, validate, patch the gaps, validate again — no human copy-pasting reports in between.

Agent Skills are included, so Claude Code and other MCP clients know how to write JourneyGraph files and act on findings out of the box.

  • Claude Code
  • Codex
  • any MCP client
  • Agent Skills included
  • JourneyGraph — open format
  • MIT licensed
the agent loop
agent:  generate screens for the checkout journey
uxloom: ✖ 9 missing states, 2 dead ends
agent:  add error + offline states, wire retry
uxloom: ✔ journey complete · 30/30 states · 0 violations

Pre-release

The loom is being strung.

UXLoom is in the works — the first release lands soon. It's open source, MIT licensed, and being built in public. No waitlist, no email form.