Curated archive of 10 design references, UI interactions, and animations published by Emil Kowalski on X.
A year at Linear - Emil Kowalski
A year at Linear
@emilkowalski_You can enroll in my animation course for the next 10 days! It's th... - Emil Kowalski
You can enroll in my animation course for the next 10 days! It's the perfect way to learn the theory behind great animations, but also how to build them in code. We'll cover all o...
@emilkowalski_A way to make your interface feel faster is to use `ease-out` easin... - Emil Kowalski
A way to make your interface feel faster is to use `ease-out` easing for enter and exit animations. This curve accelerates at the beginning, which feels more snappy than `ease-in`...
@emilkowalski_Hover transitions seen tens, maybe even hundreds of times a day can... - Emil Kowalski
Hover transitions seen tens, maybe even hundreds of times a day can make your interface feel slower. Make them snappy by removing the transition altogether.
@emilkowalski_An easy way to make your dropdowns feel better is to make them orig... - Emil Kowalski
An easy way to make your dropdowns feel better is to make them origin-aware. They should scale in from the trigger. In this case, `transform-origin: top left`. The default is `cen...
@emilkowalski_Animating from `scale(0)` usually feels "off". Try animating from a... - Emil Kowalski
Animating from `scale(0)` usually feels "off". Try animating from a higher initial scale instead (0.9+). It helps it feel more gentle and elegant. Here's the difference between in...
@emilkowalski_An easy way to make your interface feel more responsive is to add a... - Emil Kowalski
An easy way to make your interface feel more responsive is to add a subtle scale down effect when a button is pressed. A scale of 0.97/0.98 scale on the :active pseudo-class with...
@emilkowalski_More than 900 designers and engineers have joined my animations cou... - Emil Kowalski
More than 900 designers and engineers have joined my animations course in the last 10 days. That's more than 6,600 students in total since January 2024. Extremely grateful. You st...
@emilkowalski_Loader exploration from last year at Linear with @yannglt. It's a m... - Emil Kowalski
Loader exploration from last year at Linear with @yannglt. It's a mix of `translateZ` and `rotateY`.
@emilkowalski_Animated navigation at Linear with Radix's Navigation Menu - Emil Kowalski
Animated navigation at Linear with Radix's Navigation Menu
@emilkowalski_