🍥kvndy
@kvndy.bsky.social
Unaffiliated ex Mondo Kim’s.
About to make the best chess move you’ve ever seen.
Get on the waitlist
About to make the best chess move you’ve ever seen.
Get on the waitlist
Pinned
🍥kvndy
@kvndy.bsky.social
· Oct 18
Fractal Spiral
www.desmos.com
The most famous curve
www.desmos.com/calculator/o...
www.desmos.com/calculator/o...
An entirely new way of animating interactions!
An easing made from a log spiral around one is good for dragging codepen.io/kvndy/full/b...
November 10, 2025 at 4:35 PM
An entirely new way of animating interactions!
An easing made from a log spiral around one is good for dragging codepen.io/kvndy/full/b...
November 10, 2025 at 12:55 AM
An easing made from a log spiral around one is good for dragging codepen.io/kvndy/full/b...
Can someone help me fit this into my header?
November 9, 2025 at 11:44 PM
Can someone help me fit this into my header?
Web app navigation should traverse states instead of locations, but the Navigation API is incapable.
I tried. Believe me, I tried
I tried. Believe me, I tried
November 9, 2025 at 3:36 AM
Web app navigation should traverse states instead of locations, but the Navigation API is incapable.
I tried. Believe me, I tried
I tried. Believe me, I tried
Don’t know what everyone is complaining about. My issue with Omarchy was that it has a screensaver 😱
November 8, 2025 at 3:35 AM
Don’t know what everyone is complaining about. My issue with Omarchy was that it has a screensaver 😱
Once upon a time, the expected pattern for transforms was to start at zero instead of end, and set new values on completion. On interruption, devs would jump to start, block, or queue, just like what’s done with View Transitions today
November 7, 2025 at 7:25 AM
Once upon a time, the expected pattern for transforms was to start at zero instead of end, and set new values on completion. On interruption, devs would jump to start, block, or queue, just like what’s done with View Transitions today
The best line of code I ever wrote
November 6, 2025 at 2:38 AM
The best line of code I ever wrote
If animations are additive and relative, they can be interrupted and retargeted without performing a style recalculation for current animated values, which happens on the main thread (even for transforms).
They only ever need discrete start and end values
They only ever need discrete start and end values
November 6, 2025 at 2:26 AM
If animations are additive and relative, they can be interrupted and retargeted without performing a style recalculation for current animated values, which happens on the main thread (even for transforms).
They only ever need discrete start and end values
They only ever need discrete start and end values
Once upon a time, the expected pattern for transforms was to start at zero instead of end, and set new values on completion. On interruption, devs would jump to start, block, or queue, just like what’s done with View Transitions today.
Can you guess where I’m going with this?
Can you guess where I’m going with this?
November 6, 2025 at 2:18 AM
Once upon a time, the expected pattern for transforms was to start at zero instead of end, and set new values on completion. On interruption, devs would jump to start, block, or queue, just like what’s done with View Transitions today.
Can you guess where I’m going with this?
Can you guess where I’m going with this?
Retargeting in Relative Animation doesn’t replace old animations with new ones that begin where they left off. All animations run to completion, using the easing function to blend together.
In terms of the Trolley Problem, it takes both tracks simultaneously and EVERYBODY DIES
In terms of the Trolley Problem, it takes both tracks simultaneously and EVERYBODY DIES
November 4, 2025 at 2:14 AM
Retargeting in Relative Animation doesn’t replace old animations with new ones that begin where they left off. All animations run to completion, using the easing function to blend together.
In terms of the Trolley Problem, it takes both tracks simultaneously and EVERYBODY DIES
In terms of the Trolley Problem, it takes both tracks simultaneously and EVERYBODY DIES
Two theories I disregard without consideration are Simulation and Many Worlds
November 4, 2025 at 12:46 AM
Two theories I disregard without consideration are Simulation and Many Worlds
A graveyard of failed scrolljacking attempts litter the internet, but this achieves what no others have.
Scroll position isn’t changed, and final item position isn’t changed. Made possible by Relative Animation (animating additively to zero) and a Push Easing (from one to one)
Scroll position isn’t changed, and final item position isn’t changed. Made possible by Relative Animation (animating additively to zero) and a Push Easing (from one to one)
Still best when viewed on mobile. This link is the full-page view without the editor: codepen.io/kvndy/full/b...
November 1, 2025 at 2:17 PM
A graveyard of failed scrolljacking attempts litter the internet, but this achieves what no others have.
Scroll position isn’t changed, and final item position isn’t changed. Made possible by Relative Animation (animating additively to zero) and a Push Easing (from one to one)
Scroll position isn’t changed, and final item position isn’t changed. Made possible by Relative Animation (animating additively to zero) and a Push Easing (from one to one)
Scrollbar drag and two-finger scroll have been fine tuned. Bug with touchstart between items still remains
Not Halloween themed and there’s still a few bugs and fine-tuning needed, but I released a scrolljack example codepen.io/kvndy/pen/bN...
November 1, 2025 at 3:59 AM
Scrollbar drag and two-finger scroll have been fine tuned. Bug with touchstart between items still remains
Not Halloween themed and there’s still a few bugs and fine-tuning needed, but I released a scrolljack example codepen.io/kvndy/pen/bN...
October 31, 2025 at 5:27 PM
Not Halloween themed and there’s still a few bugs and fine-tuning needed, but I released a scrolljack example codepen.io/kvndy/pen/bN...
You talkin’ to me? You talkin’ to me? You talkin’ to me? Then who the hell else are you talkin’ to? You talkin’ to me? Well, I'm the only one here. Who do the f*** do you think you're talking to?
October 31, 2025 at 4:30 PM
You talkin’ to me? You talkin’ to me? You talkin’ to me? Then who the hell else are you talkin’ to? You talkin’ to me? Well, I'm the only one here. Who do the f*** do you think you're talking to?
The problem is the same as always. I only ever need discrete, non-animated values, but here animated values (completely unnecessary style recalculations) are interfering with scroll bar position and length calculation when dragging
Haven’t published my scrolljacking source because there might be a Chromium bug affecting scrollbar dragging. Doesn’t happen in Firefox or my older Canary Chromium, but upgrading to debug will take some time
October 30, 2025 at 2:16 AM
The problem is the same as always. I only ever need discrete, non-animated values, but here animated values (completely unnecessary style recalculations) are interfering with scroll bar position and length calculation when dragging
Haven’t published my scrolljacking source because there might be a Chromium bug affecting scrollbar dragging. Doesn’t happen in Firefox or my older Canary Chromium, but upgrading to debug will take some time
October 28, 2025 at 6:21 PM
Haven’t published my scrolljacking source because there might be a Chromium bug affecting scrollbar dragging. Doesn’t happen in Firefox or my older Canary Chromium, but upgrading to debug will take some time
"use javascript fatigue"
October 27, 2025 at 11:09 AM
"use javascript fatigue"
There are some cool hardware and software hackers on Fosstodon
October 25, 2025 at 8:30 PM
There are some cool hardware and software hackers on Fosstodon
Chromium’s animation implementation became a tangled mess over the years, while Firefox got a fresh start with Servo docs.google.com/presentation...
Blink Animations: The Interpolation Stack
Blink Animations: The Interpolation Stack Casually responsible for over half the files in core/animation smcgruer@, 2019/08/13
docs.google.com
October 24, 2025 at 1:30 PM
Chromium’s animation implementation became a tangled mess over the years, while Firefox got a fresh start with Servo docs.google.com/presentation...
This is a staggered easing curve for animating while dragging.
Note how progress starts and ends at one. Ever seen that before?
Animations have to be additive and relative, aka Blend Composition
Note how progress starts and ends at one. Ever seen that before?
Animations have to be additive and relative, aka Blend Composition
October 24, 2025 at 12:54 PM
This is a staggered easing curve for animating while dragging.
Note how progress starts and ends at one. Ever seen that before?
Animations have to be additive and relative, aka Blend Composition
Note how progress starts and ends at one. Ever seen that before?
Animations have to be additive and relative, aka Blend Composition
If Eightsleep worked offline a sizable portion of its users would do so. How then would they collect user data? Don’t you people work in tech?
October 22, 2025 at 1:53 AM
If Eightsleep worked offline a sizable portion of its users would do so. How then would they collect user data? Don’t you people work in tech?
React Summit New York Metropolitan Area just doesn’t have the same ring to it
October 21, 2025 at 5:27 PM
React Summit New York Metropolitan Area just doesn’t have the same ring to it
Used to work here, but not on the rental floor. What happened to the collection was always a mystery. Glad it’s back in New York.
Free with commercials on Youtube
Free with commercials on Youtube
October 19, 2025 at 12:35 AM
Used to work here, but not on the rental floor. What happened to the collection was always a mystery. Glad it’s back in New York.
Free with commercials on Youtube
Free with commercials on Youtube