| name | ui-delight |
| description | Add moments of joy, personality, and unexpected polish |
UI Delight
/ui-delight [target] - Add moments of joy, personality, unexpected polish. Functional → delightful. Enhance, never obscure.
Principles
- Delight amplifies, never blocks: quick (< 1s), never delays core functionality, skippable
- Surprise and discovery: hide details for users to find, reward curiosity
- Appropriate to context: match emotional moment, respect user state
- Compound over time: stay fresh with repeated use, vary responses
Delight Techniques
Micro-interactions
- Satisfying button press (translateY + shadow)
- Ripple effect on click
- Smooth lift on hover with ease-out-quart
- Toggle with spring physics
- Progress celebrations at 100%
Personality in Copy
- Playful error messages (match brand — banks can be warm, not wacky)
- Encouraging empty states ("Your canvas awaits.")
- Avoid AI slop copy: "Herding pixels", "Teaching robots to dance" — these scream machine-generated. Write product-specific messages.
Visual Personality
- Custom illustrations for empty/error/loading states
- Animated icons (subtle motion on hover/click)
- Background: subtle particles, gradient mesh, parallax
- Time-of-day themes
Satisfying Interactions
- Drag-and-drop: lift effect, snap animation, undo toast
- Form: animated focus, satisfying checkbox pulse, success celebration
- Progress: streak counters, milestone celebrations, badge unlocks
Easter Eggs
- Konami code, hidden keyboard shortcuts
- Console messages for devs ("Like what you see? We're hiring!")
- Seasonal touches (subtle, tasteful)
- Time-based changes (different messages by time of day)
Loading & Waiting
- Rotating product-specific loading messages ("Crunching your numbers...")
- Progress bars with personality
- Fun facts or tips while waiting
Sound (when appropriate)
- Subtle cues: notification, success ding
- Respect system settings, provide mute option
- Keep volumes quiet — subtle cues, not alarms
NEVER
- Delay core functionality for delight
- Force users through delightful moments (make skippable)
- Use delight to hide poor UX
- Annoy after 100th time
- Sacrifice performance for delight
- Be inappropriate for context (read the room)