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.
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.
| 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.
{
"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
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.