Emil Kowalski
Design engineer; formerly at Linear and Vercel; author of Sonner and Vaul; teaches animations.dev.
Emil Kowalski did not write this page. ppll compiled it from their own words, each linked to the source. Is this you? · Report a mistake
Latest x.com
What they believe
-
Easing is the most important part of any animation: it can make a bad animation feel great and a great one feel bad.
Easing is the most important part of any animation. It can make a bad animation feel great and a great animation feel bad. That’s why you have to know which easing to choose in a specific situation.
emilkowal.skiby 29 Apr 2025This on korrents
The bold line is korrents’ wording; the quote is theirs. These one: what they wrote before what they said aloud, one per source, newest first.
Feed
As its own page →Hiding
21 October
19 October
17 October
15 October
14 October
13 October
12 October
11 October
9 October
8 October
4 October
2 October
25 August
-
Lovedtheir ownrcmnd.app
Linear Diffs (merge queue)Their words
Linear Diffs has been a joy to use, but one detail I like about the merge queue specifically is that the little icon on the left animates subtly. It made me smile the first time I saw it. Nice work, @yangit.
10 August
3 October 2025
Nothing matches.
Beliefs
Korrents What they believe 2 beliefs — each backed by an exact quote.
Each is a — compiled by korrents.com, not by them: the one-line wordings are korrents', the quotes are theirs.
Recent
Easing is the most important part of any animation: it can make a bad animation feel great and a great one feel bad.
Easing is the most important part of any animation. It can make a bad animation feel great and a great animation feel bad. That’s why you have to know which easing to choose in a specific situation.
Good vs Great Animations by 29 Apr 2025
Everyone's software is good enough these days, so to stand out a product has to feel great, and animation is one way to get there.
Everyone’s software is good enough these days. The barriers to entry are low. To stand out, you need to make your product feel great. One way of doing that is through animations.
Good vs Great Animations by 29 Apr 2025
What is a korrent?
A korrent is a belief a person has stated in their own words: one sentence stating the claim, backed by a quote and a source, kept at korrents.com.
Under a name here, the quoted block is what they actually said. The korrent beneath it is the claim those words support, in korrents' wording — tap it to see the record, its source, and who else holds it.
Nobody here wrote their own korrents. They are compiled from public statements, and a person can change their mind, which is recorded too.
Recommends rcmnd
rcmnd What they recommend 2 things — each backed by an exact quote.
Compiled by rcmnd.app, not by them: the quotes are theirs, and each links to the post it was copied from.
Recent
Loved Linear Diffs (merge queue)
Linear Diffs has been a joy to use, but one detail I like about the merge queue specifically is that the little icon on the left animates subtly. It made me smile the first time I saw it. Nice work, @yangit.
x.com 25 Aug 2026
their own
Recommends App Dissection
A great example of studying apps is Brian Lovin's App Dissection
Where they publish
Site emilkowal.ski Essays on animation, interaction and UI craft.
Link verified 6 Sept 2026.
x.com @emilkowalski Short posts on UI craft and animation.
Recent
- This is my last week at Linear. It was a privilege to work with such a talented team for the last two years. Here are a few of my favorite things I helped create during my time here: 21 Oct 2026
- Long-form content is so much more pleasant and inviting to read at 18px or even 20px instead of 16px. Make your text big if you want it to be read. 19 Oct 2026
- Weekend code explorations 19 Oct 2026
Show 17 more
- Try this skill workflow over the weekend, it’s pretty good: /find-animation-opportunities → /animate → /review-animations 17 Oct 2026 github.com
- Skills like Matt’s /grill-me are great, because by asking lots of questions they help you crystalize your thoughts. They force you to come up with concrete answers to validate your idea. One of the best use cases of AI imo. You can even go a step further and make a more opinionated skill by feeding it some of your favorite products for example, interviews (think Founders podcast), etc. 15 Oct 2026
- Duration guidelines for your interactions and animations. Share them with your agents and tell them I said hi. 14 Oct 2026
- Find the few ideas worth keeping 14 Oct 2026
- As you invite more agents to our work, and create software factories to be more productive than ever, you’ll soon outsource everything to an agent, even the thinking. The work you will do will feel frictionless, it will feel amazing on the surface, but once you go a bit deeper, it’ll feel extremely shallow. It won’t reflect the struggles you went through, your decisions, and ideas. It will no longer remind you of you and the work you aspire to. You will turn into just another extremely efficient producer of things, but not a creator like you were before. Invite friction to your work. 13 Oct 2026
- One of my favorite details of Sonner: The toast can be swiped down to dismiss. Instead of prreventing the toast to be dragged upwards, you experience friction. You can still drag it, but it will slow down and eventually stop. It’s nicer than just stopping the toast immediately. 12 Oct 2026
- An important skill in the AI era, next to knowing what to build, is knowing what to consume. AI tools are so powerful that you can absorb ideas and insights from more people than ever before. Knowing who is worth listening to is a very valuable skill these days. 11 Oct 2026
- Added a new /animation-performance skill to my skills repo. It includes lots of rules that agents seem to skip at the moment. Think about keeping blur() values small, not animating shadows, not swapping CSS variables frequently, etc. 11 Oct 2026 github.com
- The bigger an animated element is, the slower it should move. Notice how the hand on the right moves much slower than the cursors on the left. That’s because it feels heavier. The same applies to distance. The more an element has to travel, the longer the animation should be. 9 Oct 2026
- Can someone help me understand how shipping 100s PRs a day makes sense? Why do you need to ship so many PRs in the first place? I might just not be AI-pilled enough to understand the need for it yet, so I’m genuinely trying to understand it. 8 Oct 2026
- Added two new skills to my skills repo recently. /mobile-native - makes your web app feel native by doing stuff like disabling hover on touch devices. /break-ui - tries to break your UI by adding long names, unusual emails, long lists, and fixes it. 4 Oct 2026 github.com
- It’s way easier to stand out these days with great UI or animation since the average software quality went down as the tools became more accessible. At the same time, I feel like great UI is not as big of a moat anymore. I won’t use a worse model just because the UI is better. 2 Oct 2026
- Made myself a /product-thinking skill for validating ideas based on my notes from interviews with people who’ve built great products. It asks me lots of questions and digs deep, which forces me to reallly think through the idea and validate it properly before building. 29 Sept 2026
- Don’t forget to stagger your animations if you animate a lot of elements. Here’s the difference it makes: 28 Sept 2026
- One of my recent favorite AI use cases: asking it to try and break the stuff I built. Adding lots of data, long names, unusual emails, labels, etc. Coming up with worst case scenario basically. This is a vibe-coded demo, but you get the idea. 25 Sept 2026
- I’m like 98% sure that you should set `text-wrap: pretty;` by default globally in your app. It gives you nicer line breaks (avoids orphans),which is what you want most of the time. Then fix the edge cases where orphans are actually what you need like some headings (edge case!). 24 Sept 2026
- Made a small dialog animation improvement at Linear: Matched the previously mismatched animation duration of overlay and the dialog + swapped spring animaton for an ease-out one so it feels less abrupt. Toast at the bottom right shows whether it’s before or after. 23 Sept 2026
Link verified 6 Sept 2026. Recent items update automatically from the channel.
GitHub @emilkowalski Sonner, Vaul and his other open-source UI work.
Recent
- skills — Skills for Designers and Engineers. 11 Oct 2026
- sonner — An opinionated toast component for React. 10 Aug 2026
- vaul — A drawer component for React. 3 Oct 2025
Link verified 6 Sept 2026. Recent items update automatically from the channel.
About the English under a post
Some people here publish in a language other than English. Where they do, this site shows a machine translation beneath the post, in this typeface — the site's own, not theirs.
The post itself is never changed, moved or hidden: what is set in the serif above is exactly what the person published, and it is what to quote them on. A translation can be wrong in ways that matter, especially about tone.
Only the post's own words are translated. A quoted post, a linked article and a belief on korrents.com are left in their original language.

