MarketFlow365

States gallery

Reference templates for empty, loading, and error states. Reuse across surfaces.

1 · Empty states

No matching data. Lead user to recovery — never just "Nothing here".

Deal results · empty Source →

No deals match those filters

Try widening price drop, removing rank cap, or switching marketplace. Big drops are rare in 24h windows.

Tracker · empty (first run) future surface

No products tracked yet

Start with a single product. We'll watch its price and alert you when it drops below your target.

Search · no result Source →

No products found

Looked for "vintage boba tea machine".

Suggestions:
Chart · no data Source →

Tracking just started

First data point arrives within an hour. Come back to see prices fill in.

2 · Loading states

Skeletons mirror the final layout. Shimmer = "data on the way", not a spinner over a blank page.

Result rows · loading Source →
Card grid · loading Source →
Chart · loading Source →
KPI strip · loading Source →

3 · Error states

Tell user what broke + what to do. Always include retry.

Fetch error 503

Couldn't load deals

Our data service is briefly unavailable. Your filters are saved — try again in a moment.

Rate limit 429

Too many requests

Free tier is capped at 50 lookups / hour. Upgrade to Pro for unlimited or wait 22 minutes.

Upgrade to Pro
Inline validation · field error form context
Resource not found 404

Product not found

ASIN B0XX99FAKE isn't in our index. It may be regional or recently delisted.

4 · Page-level fallback

When the whole route fails (uncaught exception, network down). Always have an escape hatch.

Something went sideways

An unexpected error knocked this page over. Our team gets a ping automatically. Refresh to try again, or head somewhere else.

err_id: 7f3a · 2026-04-28T12:42:18Z

5 · Usage notes

Empty

Always: icon + headline + 1-line cause + recovery action. Avoid "No data" — say WHY there's none.

Loading

Skeleton matches final layout (size + count). 1.4s shimmer. Reserve full-screen spinners for hard waits > 3s.

Error

Code (4xx/5xx) + plain-language cause + retry. Don't blame user; don't expose stack traces.