
Kinetics (Colorion)
A library of 150+ spring-driven micro-interactions for web apps. Copy the CSS, React, or ready-made AI prompts to ship physics-based motion instantly.

Overview
Kinetics is an open-source library of spring-physics micro-interactions and interface animations created by design engineer Csaba Kissi (Colorion). Built around the philosophy that "Motion that has weight", Kinetics replaces artificial, fixed-duration CSS easing functions with natural spring physics governed by stiffness, damping, and mass. Featuring over 150 meticulously tuned interface interactions, each pattern is delivered in three ready-to-use formats: pure hardware-accelerated CSS, composable React hooks/components, and pre-crafted AI agent prompts for tools like Cursor and Claude.
Key Features
- True Spring Physics Tuning: Offers interactive controls for damping, stiffness, and mass to simulate natural overshoots, elastic rebounds, and magnetic pulls.
- 150+ Interface Micro-Interactions: Spans card resizes, magnetic buttons, rubber-band sliders, elastic number counters, toast overshoots, and radial particle bursts.
- Tri-Format Delivery: Copy instant GPU-composited CSS cubic-bezier curves, standalone zero-dependency React code, or drop-in AI prompts.
- Agent-Ready AI Prompts: Every single effect includes a natural-language prompt tailored for AI coding agents to recreate the exact physics in any stack.
Installation & Quick Start
# Kinetics requires no npm installation—simply copy the CSS or React code into your projectimport React, { useRef } from 'react';
export function MagneticButton() {
const btnRef = useRef<HTMLButtonElement>(null);
const onMouseMove = (e: React.MouseEvent<HTMLDivElement>) => {
if (!btnRef.current) return;
const rect = btnRef.current.getBoundingClientRect();
const x = e.clientX - rect.left - rect.width / 2;
const y = e.clientY - rect.top - rect.height / 2;
btnRef.current.style.transform = `translate(${x * 0.35}px, ${y * 0.35}px)`;
};
const onMouseLeave = () => {
if (!btnRef.current) return;
btnRef.current.style.transform = 'translate(0, 0)';
};
return (
<div onMouseMove={onMouseMove} onMouseLeave={onMouseLeave} className="p-8 inline-block">
<button
ref={btnRef}
className="px-6 py-3 rounded-xl bg-foreground text-background font-medium transition-transform duration-150 ease-out"
>
Hover Near Me (Magnetic Pull)
</button>
</div>
);
}Why Choose Kinetics?
- Zero Runtime Weight: Harness realistic spring physics through pure CSS and native DOM transitions without loading heavy JavaScript physics engines.
- AI-Assisted Workflow: Hand off complex spring animation prompts directly to your coding agent to ship high-craft interactive feedback in minutes.
Comments & Discussion
No comments yet. Be the first to share your experience or thoughts!
Related libraries
Curated by category & stackAmbient CSS
A physics-based lighting system for CSS calibrated against Blender raytraces. Define a light source, and all shadows, highlights, and gradients follow deterministically.
23rd
An open-source shadcn/ui registry of opinionated, tasteful components by radiumcoders — WebGL shaders, playful 404s, and interactive showpieces you copy, paste, and own.
Great UI
A curated collection of beautiful, copy-paste React components built with TypeScript, Tailwind CSS v4, and Motion for crafting premium interfaces instantly.