Sergey DesignerGet a quote ↗

PRODUCT MOTION / HANDS ON

Interactive
Lottie animation.

Don’t just watch it. Make it respond.
Eight ways to connect motion to a real product interaction.

Try the demos ↓

Original portfolio animations. New interaction examples. Hover, tap, scroll and explore the difference.

Keyboard controls included. Reduced motion uses static previews. These examples demonstrate behavior; original client assets remain portfolio references.

Read the implementation guide ↗

HOVER / ORIGINAL LOTTIE

An icon that notices you.

Hover, focus with the keyboard, or tap. The original connect icon plays on demand instead of looping endlessly.

Try the interactionReady to explore
button.onpointerenter = () => player.goToAndPlay(0, true);
Inspect the original animation ↗

TOGGLE / ORIGINAL LOTTIE

A little appreciation.

A real pressed state, paired with a short star response. Tap again to reverse it.

A little appreciation. — original Sergey Designer animation
Not liked
player.setDirection(liked ? 1 : -1); player.play();
Inspect the original animation ↗

TOGGLE / ORIGINAL LOTTIE

Make completion clear.

A checkbox changes its accessible checked state while the original success artwork supplies the feedback.

Make completion clear. — original Sergey Designer animation
Task incomplete
player.goToAndPlay(checked ? 0 : player.totalFrames - 1, true);
Inspect the original animation ↗

TOGGLE / ORIGINAL LOTTIE

A switch with a pulse.

Toggle the sound state. The native button keeps the meaning; Lottie adds a brief response.

A switch with a pulse. — original Sergey Designer animation
Sound off
button.setAttribute("aria-checked", enabled); player.play();
Inspect the original animation ↗

SCROLL / ORIGINAL LOTTIE

Your scroll. Its timeline.

Scroll this card through the viewport. Position determines the frame; there is no scroll hijacking or artificial pause.

Your scroll. Its timeline. — original Sergey Designer animation
Try the interactionReady to explore
player.goToAndStop(progress * (player.totalFrames - 1), true);
Inspect the original animation ↗

CURSOR / ORIGINAL LOTTIE

Motion that follows your lead.

Move the pointer horizontally to seek and gently offset the sphere. On touch or keyboard, use the slider.

Motion that follows your lead. — original Sergey Designer animation
Try the interactionReady to explore
player.goToAndStop(cursorX * (player.totalFrames - 1), true);
Inspect the original animation ↗

CHAIN / ORIGINAL LOTTIE

A sequence with a purpose.

Click the preview: ready → working → confirmed. Click again to reset. A LottieFiles Interactivity chain coordinates completion and input.

Try the interactionReady to explore
01 Ready02 Working03 Confirmed
LottieInteractivity.create({ player, mode: "chain", actions: states });
Inspect the original animation ↗

A FEW LINES. A BETTER EXPERIENCE.

Motion should respond to meaning.

The snippets above show the interaction itself. They assume you have loaded lottie-web, created a player, waited for DOMLoaded and connected the variables to real controls. A production implementation also needs cleanup, error handling, accessible state and a reduced-motion fallback. The guide covers those boundaries.

Need an onboarding flow, a responsive product hero or a system of interactive icons? Estimate your project, explore SaaS product animation, or share your interaction brief. Static animation design and application integration are scoped separately when their requirements differ.

Interactive Lottie FAQ

What is interactive Lottie animation?

A Lottie animation whose playback responds to input or application state. Hover, click, pointer position and scroll can choose when it plays, its direction, or its current frame.

Can the demos work on phones?

Yes. Hover has a tap alternative, the cursor demo has a slider, and buttons support touch and keyboard. Reduced-motion mode keeps static previews and working controls.

Are these original animations?

Yes. Every animation comes from Sergey Designer’s existing portfolio. These interaction wrappers are new demonstration interfaces, not claims about a particular shipped client flow.

Is the state demo a dotLottie state machine?

This demo uses a LottieFiles Interactivity chain with Lottie JSON and lottie-web. It is not an embedded dotLottie state machine; the implementation and delivery format are chosen for each project.

Can you build this into our product?

The animation and interaction specification can be scoped together. Share your framework, target devices, states and fallback requirements so design and implementation can be priced clearly.

Can I reuse these JSON files?

The library is for portfolio preview and scoping. Public preview does not grant a production license to reuse client work. Request a custom animation in your own brand instead.

Build an interaction for my product ↗

YOUR NEXT PROJECT STARTS HERE

Tell me what
you’re building.

A few details are enough to start. I’ll review your goals and come back with a scope, timeline and quote.

Serhii Dovhyi, motion designer
Hi, I’m Serhii.

I’ll be your direct creative partner, from the first idea to the final handoff.

Watch my current introduction ↗Personal welcome video · coming soon

“Sergey overprovided in no time! Super communicative and understanding.”

Chen Saban · Match Media · Client project feedback on Upwork ↗

Scope, payment, revisions and source-file rights are agreed in writing before work starts. NDA available to discuss. Coming from Upwork? You can keep the engagement there.

Your details are used to reply to this enquiry. Privacy policy.

No commitment. Just a clear next step.

Project preview

Original project by Sergey Designer. Open original