Product copy · Error messages and empty states
Product copy

Error messages and empty states

Errors explain and recover. Empty states orient — they do not entertain.

Error rules (summary)

Full enforceable table: design system voice. Three requirements:

  1. Say what happened, not that something happened
  2. Say what to do next — every error has a recovery action
  3. Never "you" — the system failed, not the person

Examples

Don'tDo
Invalid emailThat email doesn't look right — check for typos
You must select a ratingPick a rating to continue
Error 500We couldn't save that. Try again in a moment.
Failed to load reviewsReviews didn't load. Retry
Something went wrongConnection lost. Check network and retry

By surface

business.*

Professional tone. Offer retry or support path.
Do: Export failed. Try again or contact support.

feedback.*

Compact. One line + one button.
Do: Save failed. Retry

www

Rare errors on cached pages. Calm, no blame.
Do: Page didn't load. Refresh or try again later.

Empty states

State what is missing and the next action. EmptyState illustrations are an open design decision — until approved, use text + primary CTA only.

ContextDon'tDo
No reviews yetNothing here yet!No reviews yet. Invite participants to collect feedback.
No eventsGet started today!!!No events yet. Create event
Filtered emptyNo resultsNo events match these filters. Clear filters
Permission deniedAccess deniedThis action needs permission. Ask your organization admin.

Table and list components reserve a stateAction slot — an empty or error state without a recovery action is incomplete.

Sporting Scouter Content Style Guide
Component-enforceable rules: design-system.sportingscouter.com/voice. Tokens from packages/config/tailwind/theme.css.