Kine UI
Standardizing hand-gesture interaction for React.
Kine UI provides high-performance, copy-pasteable spatial primitives powered by MediaPipe WebAssembly. 100% Client-Side. Zero Latency.
[!IMPORTANT] Project Banner Β© Open Dev Society. This project is licensed under AGPL-3.0; if you modify, redistribute, or deploy it (including as a web service), you must release your source code under the same license and credit the original authors.
Kine UI is an open-source alternative to heavy, black-box computer vision libraries. Build spatial interfaces, track real-time gestures, and explore native spatial computing β built openly, for everyone, forever free.
[!NOTE] Kine UI is community-built and utilizes
@mediapipe/tasks-visionfor client-side processing. Detection quality may vary based on lighting and hardware configuration. Nothing here is intended for critical safety systems.
π Table of Contents
- β¨ Introduction
- π Open Dev Society Manifesto
- βοΈ Tech Stack
- π Features
- π€Έ Quick Start
- π§± Project Structure
- π‘ Data & Integrations
- π§ͺ Scripts & Tooling
- π€ Contributing
- π‘οΈ Security
- π License
- π Acknowledgements
β¨ Introduction
Kine UI is a modern spatial computing registry powered by Next.js 15 (App Router), shadcn/ui distribution logic, Tailwind CSS v4, and MediaPipe WebAssembly. It delivers raw, editable React source code directly into your project via a dedicated CLI.
οΏ½ Open Dev Society Manifesto
We live in a world where knowledge is hidden behind paywalls. Where tools are locked in subscriptions. Where information is twisted by bias. Where newcomers are told theyβre not βgood enoughβ to build.
We believe thereβs a better way.
Our Belief: Technology should belong to everyone. Knowledge should be open, free, and accessible. Communities should welcome newcomers with trust, not gatekeeping.
Our Mission: Build free, open-source projects that make a real difference:
- Tools that professionals and students can use without barriers.
- Knowledge platforms where learning is free, forever.
- Communities where every beginner is guided, not judged.
- Resources that run on trust, not profit.
Our Promise: We will never lock knowledge. We will never charge for access. We will never trade trust for money. We run on transparency, donations, and the strength of our community.
Our Call: If youβve ever felt you didnβt belong, struggled to find free resources, or wanted to build something meaningful β you belong here.
Because the future belongs to those who build it openly.
βοΈ Tech Stack
Core
- Next.js 15 (App Router) & React 19
- TypeScript
- Tailwind CSS v4 (via @tailwindcss/postcss)
- shadcn/ui architecture for registry distribution
- Lucide React for iconography
Spatial Engine
- @mediapipe/tasks-vision: Ultra-fast hand tracking via WebAssembly
- Framer Motion: Spring physics for jitter reduction and fluid UI updates
Tooling
- next-themes: Dark mode as the primary visual state
- clsx & tailwind-merge: Dynamic class management
Features
βοΈ Air Cursor (Pinch-to-Click)
- Maps
landmarks[8](Index Finger Tip) to screen coordinates. - Euclidean Detection: $d = \sqrt{(x_i - x_t)^2 + (y_i - y_t)^2 + (z_i - z_t)^2}$
- Dispatches native
clickevents to DOM elements under the cursor.
βοΈ Swipe Area (Velocity Tracking)
- Tracks palm center velocity over a 5-frame rolling buffer.
- Triggers
onSwipeLeftandonSwipeRightevents for carousels and navigation.
βοΈ Air Scroll (Vertical Dynamics)
- Maps hand Y-axis velocity to
window.scrollY. - Hands-free page navigation with momentum-based scrolling.
π€ Pinch to Zoom (Spatial Scaling)
- Intuitive scaling for images, maps, and 3D scenes.
- Direct landmark distance mapping to
scaletransforms.
π€Έ Quick Start
Prerequisites
- Node.js 20+
- A webcam with
{ video: { facingMode: "user" } }support - A React-based project (Next.js 14+ recommended)
1. Clone or Initialize
If you are adding Kine UI to an existing project:
npx @opendevsociety/kine-ui@latest init
2. Add KineProvider
npx @opendevsociety/kine-ui@latest add kine-provider
3. Add Your First Component
Choose a gesture from the registry and inject its source code:
npx @opendevsociety/kine-ui@latest add air-cursor
3. Mount the Provider
Wrap your application in the KineProvider to initialize the tracking engine singleton.
import { KineProvider } from "@/components/kine/KineProvider";
import { AirCursor } from "@/components/kine/AirCursor";
export default function Root() {
return (
<KineProvider>
<AirCursor activeColor="#10b981" />
{/* Your App */}
</KineProvider>
)
}
π§± Project Structure
kine-ui/
βββ packages/
β βββ cli/ # The npx kine-ui CLI source code
βββ public/
β βββ r/ # Compiled registry JSON payloads
βββ src/
β βββ app/ # Documentation and Demo site
β β βββ docs/ # Documentation pages
β β βββ api/ # API routes (stars, etc.)
β βββ components/
β β βββ ui/ # Site-specific UI components
β βββ registry/ # Hand-gesture source code (THE REGISTRY)
β β βββ core/ # Wasm Engine (KineEngine)
β β βββ gestures/ # React Gesture Components
β βββ registry.json # Registry manifest for the CLI
βββ scripts/ # Build and registry compilation scripts
π‘ Data & Integrations
MediaPipe WebAssembly
- The tracking engine runs in a dedicated WebWorker to prevent blocking the main UI thread.
- Utilizes the
hand_landmarker.taskmodel for 21-point tracking.
Framer Motion
- All movements are interpolated via spring physics to handle the naturally jittery webcam data.
- Ensures a "solid" feel for the Air Cursor and UI elements.
π§ͺ Scripts & Tooling
npm run dev: Starts the documentation site and livedemo.npm run build: Compiles the Next.js site and registry.npx kine-ui: The primary distribution tool for spatial components.
π€ Contributing
You belong here. Whether youβre a student, a self-taught dev, or a seasoned engineer β contributions are welcome.
- Open an issue to discuss ideas and bugs.
- Look for βgood first issueβ or βhelp wantedβ.
- Keep PRs focused; add screenshots for UI changes.
- Be kind, guide beginners, no gatekeeping β thatβs the ODS way.
π‘οΈ Security
If you discover a vulnerability:
- Do not open a public issue.
- Email: opendevsociety@gmail.com
- We'll coordinate responsible disclosure and patch swiftly.
π License
Kine UI is and will remain free and open for everyone. This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.
π Acknowledgements
- MediaPipe for the incredible WebAssembly tracking engine.
- shadcn for the innovative registry distribution model.
- Framer Motion for the buttery smooth spring physics.
Our Honourable Contributors
- ravixalgorithm - Lead developer of the engine and core registry.
Built with β€οΈ by the Open Dev Society