Skip to content

rsayyed591/MotionForge

Repository files navigation

⬡ MotionForge Studio

Live Demo React TypeScript Three.js MediaPipe Tailwind CSS Vite License: MIT

"Professional AI-powered browser motion capture for creators, developers, researchers, and innovators."

MotionForge Studio is a modern browser-based motion capture application that performs real-time human pose estimation using AI-powered computer vision. Built with React, TypeScript, MediaPipe, and Three.js, it enables users to capture, visualize, record, and replay human movement directly from a standard webcam—without requiring expensive motion capture hardware.


🌐 Live Demo

Production: https://motion-forge-studio.vercel.app


📖 About

Motion capture has traditionally relied on specialized cameras, dedicated sensors, and expensive hardware setups. MotionForge Studio was built to challenge that limitation by bringing AI-powered motion tracking directly into the browser.

Using Google's MediaPipe computer vision models together with a custom-built rendering pipeline, MotionForge analyzes live webcam footage, estimates body landmarks in real time, and transforms them into an interactive 3D skeletal avatar.

Unlike traditional demos focused solely on pose detection, MotionForge provides a complete production-inspired workspace featuring a professional viewport, recording tools, playback controls, session management, customizable tracking options, and an immersive cyber-inspired interface.

The project demonstrates how modern web technologies can deliver responsive, desktop-quality motion capture experiences without requiring software installation or dedicated hardware.


✨ Features

Module Features
🎥 Motion Capture Real-time AI pose tracking, Live skeletal visualization, Webcam-based capture
🤖 Computer Vision MediaPipe Pose Detection, Landmark Estimation, AI-powered Tracking
🦴 Avatar System Interactive 3D Skeleton, Finger Tracking, Head & Shoulder Tracking, Motion Smoothing
🎬 Recording Capture Sessions, Countdown Timer, Session Replay, Recording Statistics
⏯️ Playback Timeline Controls, Playback Speed, Frame Scrubbing, Loop Playback
📂 Session Management Import JSON, Export JSON, Motion Session Storage
🎛️ Workspace Inspector Panel, Camera Viewfinder, Timeline, Status Bar, Professional Dashboard
🎨 User Experience Cyber UI, Glassmorphism, Responsive Layout, Audio Feedback, Installable PWA

🖥️ User Interface

MotionForge Studio provides a modern desktop-inspired workspace designed for motion capture workflows. The interface combines a professional viewport, customizable tracking controls, recording utilities, playback tools, and real-time telemetry into a cohesive environment optimized for creators and developers.

MotionForge Studio Interface

The workspace is divided into multiple functional areas:

  • Viewport — Real-time 3D avatar visualization
  • Inspector — Motion tracking controls and configuration
  • Camera Viewfinder — Live MediaPipe camera feed with telemetry
  • Workspace Panel — Recording, playback, and session controls
  • Timeline — Playback navigation and frame control
  • Status Bar — Live system status, FPS, tracking confidence, and recording information

🏗️ System Architecture

MotionForge Studio follows a modular architecture where each subsystem has a dedicated responsibility. The application separates computer vision, motion processing, rendering, and user interaction into independent layers, making the project easier to extend and maintain.

MotionForge Architecture

Architecture Overview

                         Webcam
                            │
                            ▼
                  MediaPipe Pose Tracking
                            │
                Landmark Detection Pipeline
                            │
                            ▼
                  Motion Processing Engine
          (Filtering • Tracking • Constraints)
                            │
                            ▼
                  Motion Capture State
                            │
          ┌─────────────────┼─────────────────┐
          ▼                 ▼                 ▼
     3D Avatar         Recording        Playback Engine
          │                 │                 │
          └─────────────────┼─────────────────┘
                            ▼
                   MotionForge Workspace

Architecture Highlights

  • MediaPipe performs AI-based landmark detection directly in the browser.
  • Motion Processing Engine transforms raw landmarks into smooth skeletal motion.
  • React State Management synchronizes tracking, recording, playback, and UI updates.
  • Three.js Rendering Pipeline visualizes motion using a real-time interactive avatar.
  • Modular Components separate tracking, rendering, recording, playback, and interface logic for better scalability.

🎥 Motion Capture Pipeline

MotionForge Studio transforms live webcam input into an interactive 3D motion capture experience through a multi-stage processing pipeline. Each stage is responsible for capturing, interpreting, refining, and rendering human motion while maintaining low latency and smooth real-time performance.

Webcam Feed
      │
      ▼
MediaPipe Pose Detection
      │
      ▼
Landmark Extraction
      │
      ▼
Motion Processing
(Smoothing • Filtering • Constraints)
      │
      ▼
Motion State Manager
      │
      ├──────────────┐
      ▼              ▼
3D Avatar      Recording Buffer
      │              │
      └──────┬───────┘
             ▼
      Playback Engine
             │
             ▼
      MotionForge Workspace

The entire pipeline executes locally within the browser, eliminating the need for external tracking hardware or cloud-based inference. This approach minimizes latency while keeping captured motion responsive and interactive.


🤖 AI Tracking Pipeline

MotionForge Studio uses Google's MediaPipe framework to estimate human pose landmarks directly from a webcam stream. The detected landmarks are processed before being converted into skeletal movements inside the 3D viewport.

Tracking Stages

Stage Description
📷 Camera Input Captures live video frames from the user's webcam
🧠 MediaPipe Processing Performs AI-based pose landmark estimation
📍 Landmark Detection Identifies body joints and tracking confidence
⚙️ Motion Processing Applies smoothing and anatomical constraints
🦴 Skeleton Mapping Converts landmarks into a 3D skeletal representation
🎮 Viewport Rendering Updates the interactive avatar in real time

The modular tracking pipeline makes it easier to extend MotionForge with future features such as full-body IK, gesture recognition, facial tracking, or additional export formats.


🎨 Cyber Interface

Unlike traditional demos focused solely on computer vision, MotionForge provides a production-inspired interface designed around professional creative software.

The workspace emphasizes clarity, responsiveness, and minimal visual distraction while presenting real-time information through a cyber-inspired design language.

Workspace Modules

Panel Purpose
🎛 Inspector Configure motion tracking modules, smoothing, mirroring, and visualization options
🎥 Camera Viewfinder Live webcam preview with FPS, confidence index, recording state, and tracking status
🖥 Viewport Interactive 3D avatar rendering and motion visualization
🎬 Workspace Recording, playback, session management, and data controls
📊 Timeline Playback navigation, frame scrubbing, and looping
📈 Status Bar Live statistics, tracking quality, system status, and recording information

The interface combines glassmorphism, holographic accents, custom typography, animated transitions, and subtle visual feedback to create an immersive desktop-like experience.


⚡ Rendering Engine

MotionForge Studio renders the captured motion through a real-time Three.js-powered viewport, providing immediate visual feedback as body movements are detected.

Rather than displaying raw landmarks alone, the rendering pipeline transforms tracked motion into a structured skeletal avatar while maintaining responsive interaction and smooth updates.

Rendering Pipeline

Motion Data
      │
      ▼
Skeleton Mapping
      │
      ▼
Joint Transformation
      │
      ▼
Avatar Update
      │
      ▼
Three.js Renderer
      │
      ▼
Interactive Viewport

Rendering Features

  • ⚡ Real-time avatar updates
  • 🦴 Skeletal joint visualization
  • 🎨 Cyber-inspired materials
  • 🌟 Glow and emissive highlights
  • 🎥 Interactive camera controls
  • 📈 Optimized rendering loop
  • 🔄 Smooth animation interpolation

The rendering engine is designed to prioritize responsiveness while maintaining a visually polished experience suitable for long motion capture sessions.


🛠️ Technology Stack

Category Technology
Framework React 19
Language TypeScript
Build Tool Vite
3D Rendering Three.js, React Three Fiber
Computer Vision Google MediaPipe
Styling Tailwind CSS
Animations Framer Motion
Icons Lucide React
Audio Web Audio API
Package Manager npm
Progressive Web App Web App Manifest
Deployment Vercel

📂 Project Structure

motionforge/
│
├── public/
│   ├── hero.png
│   ├── architecture.png
│   ├── favicon.ico
│   ├── favicon.svg
│   ├── apple-touch-icon.png
│   ├── favicon-96x96.png
│   ├── web-app-manifest-192x192.png
│   ├── web-app-manifest-512x512.png
│   └── site.webmanifest
│
├── src/
│   ├── App.tsx
│   ├── AvatarModel.tsx
│   ├── PoseTracker.tsx
│   ├── useMotionCapture.ts
│   ├── DebugPanel.tsx
│   ├── index.css
│   └── main.tsx
│
├── index.html
├── tailwind.config.js
├── vite.config.ts
├── package.json
└── README.md

Project Highlights

  • App.tsx — Main application workspace and state orchestration.
  • AvatarModel.tsx — 3D avatar rendering, skeletal mapping, interpolation, and visualization.
  • PoseTracker.tsx — MediaPipe integration, webcam processing, and landmark acquisition.
  • useMotionCapture.ts — Motion recording, playback management, export/import, audio feedback, and session state.
  • DebugPanel.tsx — Development controls for testing tracking behaviour.
  • index.css — Global styling, cyber design system, typography, animations, and custom UI effects.

🚀 Getting Started

Prerequisites

Before running MotionForge Studio locally, ensure your development environment includes the following:

  • Node.js 18+
  • npm
  • A modern Chromium-based browser (Chrome, Edge, Brave, etc.)
  • Webcam access enabled

Clone Repository

git clone https://github.com/rsayyed591/motionforge.git

cd motionforge

Install Dependencies

npm install

Start Development Server

npm run dev

Visit:

http://localhost:5173

Allow camera permissions when prompted to begin motion tracking.


⚙️ Environment

MotionForge Studio currently runs entirely inside the browser and does not require external API keys or backend services.

Future versions may introduce optional environment variables for cloud synchronization, AI services, analytics, or authentication.


📖 Workspace Guide

MotionForge Studio is organized into multiple workspaces that replicate the workflow of professional motion capture software.

Workspace Description
🖥 Viewport Displays the real-time animated avatar and rendering environment.
🎛 Inspector Configure tracking options, smoothing, mirroring, and visualization settings.
🎥 Camera Viewfinder Live webcam preview with tracking confidence and system telemetry.
🎬 Workspace Panel Recording controls, playback management, and session utilities.
📊 Timeline Navigate captured frames using scrubbing, playback, looping, and speed controls.
📈 Status Bar Displays FPS, tracking confidence, recording status, and active workspace information.

Each workspace has a dedicated responsibility, making the interface familiar to users of professional creative software.


🎥 Recording Workflow

Recording a motion capture session requires only a webcam.

1. Prepare the Camera

  • Position yourself within the camera frame.
  • Ensure adequate lighting.
  • Keep your upper body or full body visible.
  • Wait until tracking confidence stabilizes.

2. Start Recording

Press Start Capture.

MotionForge automatically performs:

  • Capture initialization
  • Countdown timer
  • Recording activation
  • Motion buffering
  • Live telemetry updates

During recording the application continuously captures pose landmarks while updating the 3D avatar in real time.


3. Finish Recording

Select Stop Capture.

The application automatically:

  • Stops recording
  • Saves the captured frames
  • Switches to Playback Mode
  • Generates a replayable motion session

⏯️ Playback Workflow

Captured sessions can be reviewed directly inside the workspace.

Playback features include:

  • ▶ Play
  • ⏸ Pause
  • ⏹ Stop
  • ⏩ Playback Speed
  • 🔁 Loop Playback
  • 🎚 Timeline Scrubbing
  • 📍 Frame Navigation

This enables quick inspection and review of captured movements before exporting.


📂 Import & Export

MotionForge supports importing and exporting motion sessions in JSON format.

Export Session

Exporting creates a portable motion capture file containing recorded landmark data.

Typical workflow:

Capture Motion

↓

Review Playback

↓

Export JSON

↓

Share or Archive

Import Session

Previously exported recordings can be imported back into MotionForge for playback and analysis without requiring another recording session.


🎛 Tracking Controls

MotionForge provides fine-grained control over different tracking modules.

Control Description
🧠 Head Tracking Enables or disables head movement tracking.
💪 Shoulder Tracking Controls shoulder motion updates.
✋ Hand Tracking Enables wrist and hand landmark tracking.
👆 Finger Tracking Displays individual finger joints and animations.
🪞 Mirror Mode Mirrors the complete tracking pipeline for natural webcam interaction.
🎚 Motion Smoothing Reduces optical jitter through interpolation.
📷 Camera Opacity Adjusts the visibility of the live camera preview.

These controls allow MotionForge to adapt to different capture scenarios and performance requirements.


📊 Live Telemetry

During operation, MotionForge continuously displays runtime information including:

  • Tracking Status
  • Camera FPS
  • Rendering FPS
  • Tracking Confidence
  • Active Mode
  • Recording Duration
  • Captured Frames
  • Playback Frame
  • Loop State

The telemetry system provides immediate feedback about tracking quality and application performance.


💾 Progressive Web App

MotionForge Studio supports installation as a Progressive Web App (PWA).

Benefits include:

  • Desktop installation
  • Native-like experience
  • Custom application icons
  • Standalone window mode
  • Faster startup
  • Improved user experience

Once installed, MotionForge behaves similarly to a desktop application while continuing to run entirely in the browser.


🔊 Audio Feedback

To improve interaction quality, MotionForge provides subtle audio cues throughout the application.

Sound feedback is used for:

  • Workspace initialization
  • Button interactions
  • Toggle switches
  • Recording events
  • Notifications
  • Errors
  • Successful actions

These sounds are generated using the browser's Web Audio API, providing responsive feedback without relying on external audio assets.


⚡ Performance

MotionForge Studio is designed for responsive real-time motion tracking.

For the best experience:

  • Use a well-lit environment.
  • Position yourself within the camera frame.
  • Enable browser hardware acceleration.
  • Close unnecessary background applications.
  • Use the latest version of a Chromium-based browser.
  • Maintain a stable webcam frame rate.

Performance may vary depending on camera quality, lighting conditions, browser capabilities, and available system resources.


💡 Engineering Highlights

MotionForge Studio was built to demonstrate how modern web technologies can deliver professional-grade motion capture experiences directly in the browser.

Some of the key engineering decisions include:

  • Browser-based AI motion tracking using MediaPipe
  • Real-time 3D avatar rendering with Three.js
  • Component-driven React architecture
  • Custom motion capture state management
  • Configurable tracking modules
  • Motion smoothing and interpolation
  • Recording and playback engine
  • Import and export of capture sessions
  • Progressive Web App support
  • Responsive cyber-inspired desktop interface
  • Custom audio feedback using the Web Audio API
  • Modular, scalable TypeScript codebase

🧠 Technical Challenges

Building MotionForge involved solving several challenges commonly found in real-time interactive applications.

Real-Time Motion Processing

Motion data generated from computer vision can be noisy and unstable. MotionForge applies interpolation and smoothing techniques to reduce jitter while maintaining responsive avatar movement.


Browser Performance

Rendering a live 3D avatar while continuously processing camera frames requires careful optimization.

The application minimizes unnecessary updates and keeps rendering responsive even during long capture sessions.


Modular Architecture

Rather than placing all logic inside a single component, MotionForge separates responsibilities into dedicated modules for:

  • Motion tracking
  • Avatar rendering
  • Recording
  • Playback
  • UI state
  • Camera processing

This architecture makes future expansion significantly easier.


Desktop-like Experience

Although MotionForge runs entirely in the browser, the goal was to provide an experience comparable to professional desktop software.

Features such as:

  • Multi-panel workspace
  • Timeline controls
  • Session management
  • Recording workflow
  • Professional viewport
  • Installable PWA

help bridge the gap between web applications and native creative software.


🚀 Why MotionForge?

Traditional motion capture systems often require:

  • Dedicated cameras
  • Expensive sensors
  • Complex calibration
  • Specialized software
  • High hardware costs

MotionForge explores an alternative approach by leveraging browser technologies and AI-powered computer vision to make motion capture significantly more accessible.

By combining MediaPipe, React, and Three.js, MotionForge demonstrates how modern web applications can perform sophisticated real-time motion tracking using only a standard webcam.

While it is not intended to replace enterprise-grade motion capture systems, it showcases the potential of browser-based AI applications for rapid prototyping, education, research, and creative development.


🗺️ Roadmap

Future improvements planned for MotionForge Studio include:

  • Full-body inverse kinematics (IK)
  • Multi-person motion tracking
  • VRM avatar support
  • FBX export
  • BVH export
  • GLTF animation export
  • Facial expression tracking
  • Gesture recognition
  • Custom avatar loading
  • Motion editing tools
  • Keyframe editor
  • Advanced timeline controls
  • Session thumbnails
  • Cloud synchronization
  • Authentication system
  • Team collaboration
  • Analytics dashboard
  • Mobile camera support
  • Performance profiler

🤝 Contributing

Contributions are welcome.

  1. Fork the repository.

  2. Create a feature branch.

git checkout -b feature/amazing-feature
  1. Commit your changes.
git commit -m "feat: add amazing feature"
  1. Push your branch.
git push origin feature/amazing-feature
  1. Open a Pull Request.


📸 Gallery

The following screenshots showcase MotionForge Studio's modern desktop-inspired interface and real-time motion capture workflow.

Workspace



System Architecture


🙏 Acknowledgements

MotionForge Studio is built on the shoulders of several incredible open-source technologies.

Special thanks to the teams behind:

  • Google MediaPipe
  • Three.js
  • React
  • Vite
  • Tailwind CSS
  • Framer Motion
  • Lucide

for creating the tools that made this project possible.


👨‍💻 Author

Rehan Sayyed


📄 License

This project is licensed under the MIT License.

See the LICENSE file for more information.


⭐ Enjoying MotionForge Studio?

If you found this project useful, consider giving it a star.

Building the future of browser-based motion capture.

Made with ❤️ by Rehan Sayyed

About

AI-powered browser motion capture software using React, Three.js, TypeScript, and MediaPipe. Real-time pose tracking, 3D visualization, recording, playback, and PWA support.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors