Skip to content
External documented references from independent UX literature — not UXMachine audits, not clients.

Documented UX patterns

Patterns of friction and clarity, documented in the wild

Independent, publicly documented examples of UX friction and clarity — the kinds of patterns UXMachine is designed to detect and turn into a first decision. Each one links to its external source. These are references, not UXMachine audits.

Each card includes an abstract schematic created by UXMachine to explain the pattern. It is not a screenshot of the referenced site.

Late cost surprise

Ann Taylor

Friction / bad practice
Cost information appears after effort, not before the buying decision.

What is observable

Shipping or total-cost expectation is missing near the purchase decision and only appears later in the flow.

Why it matters

Unexpected costs revealed late are a leading reason people abandon a purchase; the surprise erodes trust at the moment of commitment.

First decision

Expose a shipping / total-cost estimate before the checkout effort begins.

What not to touch yet

The catalogue and product pages — the issue is cost timing, not the products.

Documented by Baymard Institute — checkout usability research

External documented reference. Not a UXMachine audit.

Decision staging + trust before purchase

Joybird

Clarity / good practice
Complex choice becomes manageable when the interface stages decisions and places trust cues near commitment.

What is observable

A high-consideration purchase is split into staged decisions, with trust signals placed near the point of commitment.

Why it matters

Staging reduces decision effort for considered purchases, and reassurance near commitment lowers perceived risk.

First decision

Preserve the staged comparison and keep reassurance close to the buying decision.

What not to touch yet

The number of stages that already work — don't collapse a flow that is reducing effort.

Documented by Nielsen Norman Group

External documented reference. Not a UXMachine audit.

Trust before data request

Required phone field (checkout)

Friction / bad practice
A sensitive field needs a reason before the user gives data.

What is observable

A required phone-number field appears with no explanation of why it is needed.

Why it matters

Asking for sensitive data without a rationale increases hesitation and form abandonment.

First decision

Explain why the data is needed, or make the field optional.

What not to touch yet

Fields that are genuinely required to fulfil the order.

Documented by Baymard Institute — checkout usability research

External documented reference. Not a UXMachine audit.

Comparable pricing dimensions

Designlab

Clarity / good practice
Pricing is easier to decide when options share comparable dimensions.

What is observable

Pricing options are aligned along shared comparison dimensions, so plans can be compared row by row.

Why it matters

Comparable dimensions reduce decision effort and help people choose with confidence.

First decision

Make plan differences comparable before rewriting all the pricing copy.

What not to touch yet

The underlying plan structure and prices — start with comparability, not repricing.

Documented by GoodUI

External documented reference. Not a UXMachine audit.

Sneak into basket

GoDaddy

Deceptive pattern
Paid extras should require explicit intent, not passive acceptance.

What is observable

Extra paid options or terms appear in the buying flow without sufficiently explicit user intent.

Why it matters

Adding charges the user did not clearly choose damages trust and is widely documented as a deceptive pattern.

First decision

Make paid extras opt-in, transparent and reversible.

What not to touch yet

Legitimate, clearly-labelled optional add-ons the user actively selects.

Documented by Deceptive.design (Harry Brignull) — dark-pattern taxonomy

External documented reference. Not a UXMachine audit.

See these patterns on your page.

Paste a public URL and get the first decision worth making — before spending more on traffic.

Audit a URL →