
Joy Delight
- 339 installs
- 68 repo stars
- Updated December 30, 2025
- dylantarre/animation-principles
Add purposeful delight—celebrations, playful feedback, and surprise moments—that reinforces success without harming usability, speed, or accessibility.
About
Teaches how to embed joy and delight into product UI through motion that rewards completion, reduces anxiety, and humanizes otherwise transactional flows. Balances whimsy with task focus, defines when delight helps versus harms, and pairs animation choices with tone, frequency caps, and accessibility so premium feel does not sacrifice performance or trust.
- Success and milestone celebrations
- Playful but restrained micro-interactions
- Emotion tied to user outcomes
- Avoiding motion that blocks tasks
- Brand-appropriate personality in UI
Joy Delight by the numbers
- 339 all-time installs (skills.sh)
- Ranked #740 of 1,880 Design & UI/UX skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/dylantarre/animation-principles --skill joy-delightAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 339 |
|---|---|
| repo stars | ★ 68 |
| Last updated | December 30, 2025 |
| Repository | dylantarre/animation-principles ↗ |
What it does
Add purposeful delight—celebrations, playful feedback, and surprise moments—that reinforces success without harming usability, speed, or accessibility.
Files
Joy & Delight Animation
Create animations that spark happiness, pleasant surprise, and memorable delight.
Emotional Goal
Joy emerges from unexpected pleasures, playful movements, and moments that exceed expectations. Delight comes from animations that feel alive, responsive, and genuinely fun.
Disney Principles for Joy
Squash & Stretch
Exaggerate bouncy, elastic movements. Objects that squash 30-40% on impact feel alive and playful. Use for success states, rewards, and celebrations.
Anticipation
Build excitement before reveals. A slight pullback (100-150ms) before a pop-in creates satisfying payoff. Perfect for notifications and achievements.
Staging
Draw focus to joyful moments. Clear visual hierarchy ensures the delightful element gets full attention. Dim surroundings during celebration animations.
Straight Ahead Action
Create spontaneous, organic movements for confetti, particles, and celebration effects. Randomized paths feel natural and exciting.
Follow Through & Overlapping Action
Let elements overshoot and settle with bouncy secondary motion. Hair, ribbons, and decorative elements should continue moving after main action.
Slow In & Slow Out
Use asymmetric easing—quick starts with slow, satisfying landings. cubic-bezier(0.34, 1.56, 0.64, 1) creates playful overshoot.
Arc
Bouncing, curved trajectories feel more joyful than linear paths. Elements should travel in parabolic arcs during celebrations.
Secondary Action
Add sparkles, particles, or wobbles to primary animations. A "like" heart that radiates small hearts amplifies joy.
Timing
Fast, snappy timing (150-250ms) feels energetic. Quick bursts with micro-pauses create rhythm. Success animations: 200-400ms.
Exaggeration
Push proportions and movements 20-30% beyond realistic. Oversized bounces, stretched smiles, and amplified reactions.
Solid Drawing
Maintain volume during stretchy movements. Squashed elements should expand horizontally to preserve mass—this reads as physicality.
Appeal
Round shapes, bright colors, and smooth curves. Asymmetry in timing and position adds character and charm.
Timing Recommendations
| Element | Duration | Easing |
|---|---|---|
| Pop-in | 200-300ms | ease-out-back |
| Bounce | 300-500ms | spring(1, 80, 10) |
| Confetti | 800-1200ms | ease-out |
| Celebration | 400-600ms | ease-out-elastic |
CSS Easing
--joy-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
--joy-pop: cubic-bezier(0.175, 0.885, 0.32, 1.275);
--joy-elastic: cubic-bezier(0.68, -0.55, 0.265, 1.55);When to Use
- Success confirmations and completions
- Achievement unlocks and rewards
- Onboarding celebrations
- Easter eggs and surprises
- Positive feedback states
- Welcome animations