Transparency
How we calculate your scores
CritchPitch is a movement-pattern screening tool. We believe parents, coaches, and athletes deserve to know exactly how their numbers are generated, what they mean, and what they do not mean. This page is the full breakdown.
What this is not
CritchPitch does not diagnose injuries, predict injuries, or prescribe treatment. We do not measure joint torque, internal forces, or tissue load directly. Those require laboratory-grade motion capture with force plates and marker-based systems.
We measure movement patterns from video. Movement patterns are associated with stress in the biomechanics research, but association is not causation. A high score does not mean an injury is coming. A low score does not mean an arm is safe. The body is complex and injury risk is multifactorial.
Always consult a qualified healthcare professional for medical evaluation.
Step 1: Pose estimation
When you upload a video, we process it frame by frame using Google's MediaPipe Pose Landmarker. This tracks 33 anatomical landmarks across the body in each frame: joints, extremities, and key skeletal reference points.
MediaPipe runs entirely in the browser. Your video never leaves your device. We extract the landmark coordinates and discard the video data.
Landmark accuracy
MediaPipe provides a visibility confidence score (0 to 1) for each landmark in each frame. We discard any landmark data below a 0.3 visibility threshold. Frames where key landmarks (throwing shoulder, elbow, wrist) fall below this threshold are excluded from analysis.
Frame rate
We recommend 240fps slow-motion video for best results. At 240fps, the arm acceleration phase (which takes roughly 30-50 milliseconds) spans 7-12 frames, giving us enough data points to capture the motion. At 30fps, that same phase may span only 1-2 frames, which is insufficient for reliable metric extraction.
Step 2: Pitch detection
We identify individual pitches within the video by tracking wrist velocity patterns and lower-body positioning. For each detected pitch, we isolate five key phase points:
- Foot strike - lead foot contacts the ground
- Arm cocking - arm reaches lay-back position
- Max external rotation - peak shoulder external rotation
- Ball release - point of maximum wrist velocity
- Follow-through end - wrist velocity drops below 20% of peak
If we cannot isolate pitch phases (common with short clips or unusual camera angles), we fall back to a continuous-motion analysis that evaluates all visible frames together. This fallback mode is less precise but still captures the overall mechanical pattern.
Step 3: Kinematic metrics
For each detected pitch, we compute 9 kinematic measurements from the 3D landmark positions. These are geometric calculations (joint angles, distances, velocities), not estimates or predictions.
| Metric | What it measures |
|---|---|
| Elbow angle at release | Angle between upper arm and forearm at ball release |
| Arm slot angle | Arm path angle relative to horizontal at release |
| Arm slot consistency | Standard deviation of arm slot across multiple pitches |
| Lead knee at foot strike | Front knee angle when lead foot hits the ground |
| Knee collapse | Change in lead knee angle from foot strike to release |
| Hip-shoulder separation | Rotational difference between pelvis and shoulders at foot strike |
| Trunk tilt at release | Trunk angle relative to vertical at ball release |
| Follow-through length | Cumulative wrist path distance during deceleration |
| Stride length | Distance between feet at foot strike, normalized to body height |
When multiple pitches are detected, we compute the mean and standard deviation for each metric. Consistency (low standard deviation) is itself a signal of mechanical repeatability.
Step 4: Pattern scoring (0-100)
Each kinematic metric maps to one of 6 mechanical patterns. Each pattern receives a score from 0 to 100, where lower is better. Nobody scores a 0 (mechanically perfect does not exist) and nobody scores 100 (completely dysfunctional delivery does not exist either). Realistic scores fall between 12 and 92.
Scores are computed using smooth curves relative to research-based optimal ranges. Values inside the optimal range score near the floor. Values further from optimal score progressively higher. The curve is continuous, not stepped.
| Pattern | Body part | Metric used | Optimal range | Weight |
|---|---|---|---|---|
| Elbow Stress | Elbow | Elbow angle at release | 80-115 degrees | 65% |
| Follow-Through | Elbow | Wrist deceleration path | 0.15+ (normalized arc length) | 35% |
| Trunk Timing | Shoulder | Trunk tilt at release | 10-38 degrees | 30% |
| Hip-Shoulder Sep | Shoulder | Rotational separation at foot strike | 40-55 degrees | 30% |
| Arm Slot | Shoulder | Arm slot consistency | Less than 3 degrees std dev | 25% |
| Knee Stability | Shoulder | Lead knee angle + collapse | 140+ degrees, less than 10 degrees collapse | 15% |
Step 5: Body-part stress scores
The 6 pattern scores roll up into two body-part scores: elbow and shoulder. Each body-part score is a weighted average of its contributing patterns. The weights reflect which patterns the biomechanics literature associates most strongly with stress on each structure.
Elbow stress score
- Elbow angle pattern (65%)
- Follow-through pattern (35%)
Elbow angle is weighted heavily because the forearm-to-upper-arm angle during acceleration is the kinematic variable most directly associated with medial elbow stress in the literature. Follow-through contributes because abbreviated deceleration shifts braking forces to the posterior structures.
Shoulder stress score
- Trunk rotation timing (30%)
- Hip-shoulder separation (30%)
- Arm slot consistency (25%)
- Lead knee stability (15%)
Trunk timing and hip-shoulder separation are weighted equally because they represent the two sides of rotational sequencing. When either breaks down, the shoulder compensates. Arm slot inconsistency creates variable loading patterns. Knee collapse has a downstream effect on trunk mechanics.
Step 6: Accumulated stress
The body-part scores from a screening represent mechanical stress per pitch. To understand total load, we combine them with throw volume and velocity.
daily stress = (mechanics score / 50) x weighted pitch count x velocity factor
Pitch type weights
Not all pitches are equal. A game pitch at max effort imposes more stress than a flat-ground throw at 60%. We weight by type:
- Game pitches: 1.0x
- Bullpen: 0.75x
- Flat ground: 0.5x
Velocity factor
Velocity is self-reported by the athlete or parent (pocket radar). We normalize against age-appropriate averages so the factor represents how hard this athlete throws relative to their age group. Throwing harder amplifies the stress from each pitch. The velocity factor ranges from roughly 0.6x (well below age-average) to 1.3x (well above).
Key insight for parents
A pitcher with clean mechanics (low score) accumulates stress slowly and can sustain a higher pitch count before reaching elevated load. A pitcher with rough mechanics (high score) accumulates stress faster with the same number of pitches. Same volume, different load. That is the information parents need: not just how many pitches, but what each pitch costs this specific arm.
Step 7: Acute-to-chronic workload ratio
Injury risk in overhead athletes is associated with spikes in workload relative to recent baseline, not just total volume. We track this using the acute-to-chronic workload ratio (ACWR):
ACWR = last 7 days of stress / (last 28 days of stress / 4)
This ratio tells you whether this week's load is higher, lower, or consistent with the recent 4-week average. Research in collegiate pitchers identifies elevated risk above an ACWR of approximately 1.27.
Low
Below 0.5
Optimal
0.5 to 1.27
Monitor
1.27 to 1.5
Elevated
Above 1.5
Counterintuitively, a very low ACWR (under 0.5) can also be a signal. Undertrained athletes who suddenly ramp up volume are at risk. Consistent, progressive loading is the goal.
Known limitations
Single-camera depth ambiguity
Phone video is 2D. Some metrics (especially shoulder external rotation and hip-shoulder separation when filming from behind) lose accuracy due to depth compression. We recommend filming from the throwing-arm side at a 90-degree angle to minimize this.
Landmark occlusion
When body parts overlap from the camera's perspective (e.g., the throwing arm passes in front of the trunk), MediaPipe landmark confidence drops. We discard low-confidence frames, but this can reduce the data available for analysis.
Not absolute torque
We measure kinematics (positions, angles, velocities), not kinetics (forces, torques). Converting from one to the other requires inverse dynamics and is hypersensitive to small errors at the velocities involved in pitching. We do not attempt this conversion.
Velocity is self-reported
We rely on parent or athlete-reported pocket radar readings. These vary by device, conditions, and how the reading is taken. The velocity factor is a multiplier, not a measurement from our system.
Optimal ranges are population-level
Our scoring ranges come from published biomechanics research on overhead athletes. Individual anatomy, injury history, and physical maturity can shift what is optimal for a specific pitcher. The scores are relative risk indicators, not absolute thresholds.
Research basis
The optimal ranges, scoring weights, and workload thresholds used in CritchPitch are informed by published biomechanics and sports-medicine research. This is not an exhaustive citation list but covers the primary sources for each component.
Elbow valgus stress and kinematic correlates
Fleisig et al. (2006, 2011). American Journal of Sports Medicine. Established relationships between elbow angle, forearm lag, and medial elbow stress during the arm acceleration phase.
Hip-shoulder separation and rotational sequencing
Seroyer et al. (2010), Oliver & Keeley (2010). Described optimal separation ranges (40-55 degrees at foot contact) and the role of proximal-to-distal sequencing in reducing arm stress.
Trunk rotation timing and arm stress
Oyama et al. (2013), Aguinaldo et al. (2009). Early trunk rotation associated with increased shoulder and elbow loading. Trunk tilt thresholds derived from youth and collegiate pitcher populations.
Lead leg mechanics and energy transfer
MacWilliams et al. (1998), Matsuo et al. (2001). Knee extension stiffness at foot strike associated with velocity and reduced compensatory arm action.
Follow-through and deceleration forces
Fleisig et al. (1995), Dillman et al. (1993). Posterior shoulder distraction forces during deceleration. Longer deceleration arc distributes braking forces over more time and distance.
Acute-to-chronic workload ratio
Gabbett (2016), Hulin et al. (2014). ACWR framework for injury risk in athletes. Threshold of ~1.27 for collegiate pitchers from Bullock et al. (2020, IJSPT).
Unaccounted throwing volume
Fazarale et al. (2012, PubMed). Found 42.4% of high school pitcher throws were bullpen and warm-up pitches not captured by standard pitch-count monitoring.
Markerless motion capture validation
Fleisig et al. (2022), Colyer et al. (2018). Markerless systems show measurable bias in kinetic estimates but reliable correlation with kinematic variables. Kinematic tracking is suitable for pattern-level screening, not absolute force measurement.
Our commitment
We will keep this page updated as our methodology evolves. When we change scoring ranges, weights, or thresholds, we will document what changed and why. If we get something wrong, we will say so.
Questions about our methodology? Reach out to Nathan at nathan.critch@outlook.com.