
Emil Kowalski
Design engineer. Author of Animations on the Web, Sonner and Vaul.
emil-design-eng
The design-engineering house style behind Sonner and Vaul.
Emil's main skill. Mostly animation, with the UI-polish and component judgement that surrounds it: what to build, how far to push it, and when to stop.
npx skills add https://github.com/emilkowalski/skills
animate
Builds an animation from scratch, decisions in the order that matters.
Should it animate at all, what purpose, which tool, which properties, which curve and duration, how it interrupts, how it exits. Then writes the implementation.
npx skills add https://github.com/emilkowalski/skills --skill animate
review-animations
Reviews your motion strictly, against Emil's rules.
A production-critical pass over animation quality, timing and consistency in a diff. Pairs with improve-animations, which does the same for a whole codebase.
npx skills add https://github.com/emilkowalski/skills --skill review-animations
improve-animations
Audits every animation in a codebase and hands back prioritised plans.
Read-only on source. Surveys the motion you already ship and produces self-contained implementation plans any agent can execute, ordered by what actually matters.
npx skills add https://github.com/emilkowalski/skills --skill improve-animations
find-animation-opportunities
Finds where motion would genuinely help, and says what not to animate.
High-conviction opportunities for useful interface motion, with an explicit rejection list so you don't end up animating noise.
npx skills add https://github.com/emilkowalski/skills --skill find-animation-opportunities
prototype
Builds several genuinely different UI variants behind a live picker.
Flip through real implementations instead of arguing about descriptions, then promote the one that wins.
npx skills add https://github.com/emilkowalski/skills --skill prototype
animation-vocabulary
Reverse-lookup glossary: describe the effect, get the exact term.
"The bouncy thing when a popover opens" becomes Pop in. "The iOS rubber-band scroll" becomes rubber-banding. Better words in, better motion out.
npx skills add https://github.com/emilkowalski/skills --skill animation-vocabulary
apple-design
Apple's interface and motion principles, translated for the web.
Distilled from the WWDC design talks. Gesture-driven UI, spring physics, interruptible transitions, translucent materials, optical sizing and the restraint underneath all of it.
npx skills add https://github.com/emilkowalski/skills --skill apple-design
pick-ui-library
Picks the library from the set Emil actually uses and trusts.
Stops your agent hand-rolling a toast or installing whatever is trending. Covers components, motion, charts, interaction, state and styling.
npx skills add https://github.com/emilkowalski/skills --skill pick-ui-library
Friction as a Feature
A natural filter for bad ideas.
Emil KowalskiCraftA natural filter for bad ideas.
You Don’t Need Animations
Why you are animating more often than you should.
Emil KowalskiMotionWhy you are animating more often than you should.
Agents with Taste
How to transfer taste into an AI.
Emil KowalskiCraftHow to transfer taste into an AI.
Developing Taste
Why taste matters and how to develop it.
Emil KowalskiCraftWhy taste matters and how to develop it.
Train Your Judgement
Settling for good enough is not good enough.
Emil KowalskiCraftReviewSettling for good enough is not good enough.
The Magic of Clip Path
One of the most underrated CSS properties.
Emil KowalskiMotionCraftOne of the most underrated CSS properties.
7 Practical Animation Tips
Simple ideas you can use to improve your animations.
Emil KowalskiMotionSimple ideas you can use to improve your animations.
Building a Toast Component
My experience building Sonner, a toast library.
Emil KowalskiComponentsMotionMy experience building Sonner, a toast library.
Building a Drawer Component
My experience building a drawer component for React.
Emil KowalskiComponentsMotionMy experience building a drawer component for React.