Title
Emote Royale
Gallery





What it does
Real-time pose-based Clash Royale emote detector using your webcam.
A Python application that uses your webcam to detect full-body poses and hand gestures in real time, then displays matching Clash Royale-style animated emote overlays. Recognizes 6 distinct poses including thumbs up, peace sign, and rapid hand pumping at 30 FPS with pose smoothing and idle detection.
Core Features
- ✦6 pose-based emote detections via MediaPipe Holistic
- ✦Animated GIF emote overlays with configurable duration
- ✦Pose smoothing for stable detection and false-positive prevention
- ✦Idle detection to prevent unintended triggers
- ✦Real-time FPS counter and movement tracking
How I built it
Started with MediaPipe Hands for basic gesture detection, then upgraded to MediaPipe Holistic to enable full-body poses like 'thinking' (hand on chin) and '67' (both hands pumping). The pose classification logic evolved from simple landmark checks to angle-based analysis for robustness. Added CLI options for camera selection and performance tuning after testing on different hardware.
System Flow & Architecture
Built on OpenCV for video capture and display, with MediaPipe Holistic handling full-body pose, hand, and face landmark tracking. NumPy powers the pose analysis pipeline, computing angles and distances between landmarks to classify gestures. Emote overlays are composited per-frame with alpha blending, and a cooldown manager prevents rapid re-triggers.
Tech Stack