Yuri (1bye) — Designer and developer

Hi, I'm Yuri (known as 1bye), a designer and developer who cares how things work and how they feel. I've been working on Altavinci, a tool for creating motion with code.

Currently at Kapta, I work on financial systems and integrations for large companies such as Booking.com.

Drag a row to spin it, or use the left and right arrow keys. Select a card to open it.

GPUI Motion preview

GPUI Motion

I built GPUI Motion to bring declarative animation to native Rust apps. Set the next state; springs keep the transition fluid, even when you change direction.

Declare the next state

Set a new size. The library takes care of the spring.

RustInside a GPUI view
let target = Target::default()
    .width(if self.expanded { 320.0 } else { 180.0 })
    .height(100.0)
    .border_radius(16.0);

let animation = Motion::new(target);
let frame = self.motion.frame(animation, window, cx);

frame.apply(div().id("card").child("Click to resize"))
    .on_click(cx.listener(|this, _, _, cx| {
        this.expanded = !this.expanded;
        cx.notify();
    }))
Layout transitions
Smooth transitions as elements resize and move into place.
Drag & snap
Drag freely, then settle into a snap point with a spring.