A real time hand tracking application that creates stunning visual effects based on hand movements. Built with React, TypeScript, and MediaPipe Hands.
![Hand Tracking Demo](https://images.unsplash.com/photo 1527430253228 e93688616381?auto=format&fit=crop&q=80&w=1200&h=400)
Real time Hand Tracking: Utilizes MediaPipe Hands for accurate hand detection and tracking Multiple Visual Effects: 🔥 Fire: Dynamic flame trails following hand movements 💧 Water: Ripple effects emanating from hand positions 🌸 Floral: Blossoming flowers along hand movement paths Customizable Parameters: Intensity control Color selection Size adjustment Privacy Focused: No video data stored or transmitted Optimized Performance: Smooth rendering and minimal latency Responsive Design: Works across different screen sizes
Node.js (v14 or higher) npm or yarn
- Clone the repository:
git clone https://github.com/yourusername/hand tracking effects.git
cd hand tracking effects
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open your browser and navigate to
http://localhost:5173
Frontend Framework: React 18 Language: TypeScript Hand Tracking: MediaPipe Hands State Management: Zustand Styling: Tailwind CSS Icons: Lucide React Build Tool: Vite
src/
├── components/ # React components
│ ├── Controls.tsx # Effect control panel
│ ├── HandTracking.tsx# Main tracking component
│ └── PrivacyNotice.tsx
├── effects/ # Visual effect implementations
│ ├── fireEffect.ts
│ ├── waterEffect.ts
│ └── floralEffect.ts
├── hooks/ # Custom React hooks
│ └── useHandTracking.ts
├── store/ # State management
│ └── effectsStore.ts
├── types/ # TypeScript definitions
│ └── effects.ts
├── utils/ # Utility functions
│ └── canvas.ts
└── App.tsx # Root component
Creates dynamic flame particles that follow hand movements Adjustable intensity affects particle count and spread Customizable color and size
Generates concentric ripples around hand positions Intensity controls ripple size and transparency Configurable color and ring count
Spawns flower like patterns along hand movement paths Intensity affects petal size and density Customizable color and bloom size
The application provides an intuitive control panel at the bottom of the screen:
Effect Selection: Choose between Fire, Water, and Floral effects Intensity Slider: Adjust the strength of the effect (0 100%) Color Picker: Select custom colors for the effects Size Control: Modify the scale of the visual effects
This application: Only processes hand tracking data in real time Does not store or transmit any video data Runs entirely in your browser Requires camera permissions for hand tracking
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout b feature/AmazingFeature
) - Commit your changes (
git commit m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License see the LICENSE file for details.
MediaPipe for the hand tracking technology Tailwind CSS for the styling system Lucide for the beautiful icons