Build Assets
Checklist

Loading States

Every async operation has a loading state that appears within 400ms.

Platform: bothTags: loading, performance, skeleton, feedback

Check

Every data-fetching view shows a skeleton or spinner within 400ms. Buttons that trigger async actions show a loading state immediately on click. No UI ever appears frozen without feedback.

Why This Matters

Doherty Threshold: responses under 400ms feel instantaneous. Over 400ms users perceive lag and may reclick, causing duplicate actions. Immediate loading feedback prevents this.

Category

Performance

Priority

important

How to Verify

Throttle network to "Slow 3G" in DevTools. Trigger every async action. No button or view should appear frozen — all must show loading feedback within 400ms of interaction.

Source Topic

ux psychology

Doherty Threshold

Why 400ms is the magic number