GitHub
> introducing kine-ui

Deploy native spatial computing to the DOM.

Beautifully designed hand-gesture components that you can copy and paste into your apps. Accessible. Customizable. Fully Open Source.
$npx @opendevsociety/kine-ui@latest init
Copy and Paste

Components are completely headless. You copy the raw source code into your project. You own the execution. You can tweak the logic, styling, and framer-motion physics directly.

MediaPipe Core

Powered by Google's incredibly fast MediaPipe Tasks Vision API. The entire hand-tracking pipeline runs deeply optimized in WebAssembly, completely locally on the client.

Framer Motion

Raw landmark data from the webcam is inherently jittery. We pass all spatial coordinates directly into Framer Motion spring physics to guarantee buttery smooth UI updates.

Accessible Design

Components automatically degrade gracefully. If users do not grant camera access, or if they are on mobile devices without ideal viewing angles, the components cleanly fallback to standard mouse/touch interaction.

NPM Registry

Just like shadcn/ui, you don't install a heavy package. You run npx @opendevsociety/kine-ui add to fetch exact files.

Spatial Canvas

Deploy native OS-level spatial components directly into the DOM.

SYS_CURSOR_01

Air Cursor

Index-finger spatial tracking. Pinch velocity thresholding for ultra-precise DOM clicks.

KIN_SWIPE_AXIS

Swipe Area

High-velocity palm tracking. Triggers strictly on sweeping lateral mass reduction.

PALM_SCROLL_Y

Air Scroll

Wrist Y-axis velocity mapping. Hands-free page scrolling with native pinch-protection lockout.

BIMANUAL_SCALE

Pinch to Zoom

Bimanual multi-hand Euclidean scaling. Manipulate DOM scale factors linearly.

The Physics Engine

Raw landmark data from the webcam is inherently jittery. Kine UI pipes all spatial coordinates directly into framer-motion spring physics to guarantee absolute fluid UI updates.

Wasm_To_Spring_Runtime
SOCKET_OPEN
[sys] alloc matrix 4x4...
> L[0] { x: 0.124, y: 0.881, z: -0.01 }
> L[0] { x: 0.128, y: 0.875, z: -0.01 }
> L[0] { x: 0.131, y: 0.860, z: -0.01 }
> INTERCEPT VELOCITY: 4.2px/f
const cursorX = useSpring(0, {
  damping: 20,
  stiffness: 300,
  mass: 0.5
});
// Hardware-accelerated repaint
SYS_DEPLOY_READY All Systems Nominal
Deploy.Sequence
v0.1.0

Start Building

> Two commands to go from zero to spatial computing. The init script scaffolds the engine, installs dependencies, and mounts the tracking core automatically.

terminal
$npx @opendevsociety/kine-ui@latest init
Components: 4Runtime: WebAssembly