LaxForgeLaxForge

Technology

Built on real lacrosse.
Not stock animations.

LaxForge runs a custom-trained AI shot classifier on your phone. Trained on 902 quality-filtered shots from college and pro creators across YouTube and TikTok — labeled, validated by hand, and filtered by a Gemini QA gate. It reads seventeen biomechanical features from your pose, the stick when visible, and the LaxPod sensor, then tells you what kind of shot you took and where the form broke down.

902
labeled shots
6
shot types
17
biomechanical features
86.8%
test accuracy

01 · The corpus

Real shooters. Real angles. Real noise.

Most lacrosse “AI” demos are recorded in a controlled lab. Ours isn't. We pulled video from creators across three platforms, covering broadcast angles, hand-held side angles, indoor turf, outdoor field, and mid-game footage. Each shot was labeled with release timing, phase boundaries, and 14 pose landmarks — including the stick tip when visible.

YouTube

Long-form drills, broadcast clips, full-game footage. The bulk of the corpus.

Instagram

Reels from college + pro creators. Tight angles, vertical framing.

TikTok

Quick form drills + in-game highlights. 73% quality-pass rate — the cleanest source in the corpus.

02 · Shot types

Six shots, with the honesty about which ones are solid.

The model classifies every shot you take into one of six types. Held-out test accuracy below — the same numbers we look at internally, no rounding up. Minority-class shots are gated by corpus size, not model capability. We're actively collecting more bounce / BTB / quickstick footage to fix that.

Overhand
94%

The traditional release — stick high above the head, body squared.

113 holdout shots
Sidearm
83%

Three-quarter release with the stick parallel to the ground at release.

35 holdout shots
Underhand

Low scoop release — common around the crease and in tight quarters.

limited data — 2 holdout shots · More training data needed
Behind-the-back

The stick passes behind the body before release. Tough to pick up cleanly.

limited data — 9 holdout shots · More training data needed
Quickstick

Rapid release off a feed — no full crank, almost a redirect.

limited data — 0 holdout shots · More training data needed
Bounce

Low-trajectory shot intended to skip in front of the goalie.

limited data — 0 holdout shots · More training data needed

03 · What it measures

Seventeen features. The same ones lacrosse coaches care about.

The model doesn't look at raw video. It looks at seventeen specific measurements — ten from your body pose (including the stick orientation when it's visible), seven from the LaxPod sensor — that map to the things coaches already grade. Open-sourced math: BIOMECHANICS_SPEC.md ↗

10 · From your poseCamera-only
  • Release angle
    How vertical your stick arm is at release
  • Elbow flexion
    How extended the elbow is at release
  • Shoulder external rotation
    How cocked the throwing shoulder is
  • Hip rotation (crank-back)
    Hip-shoulder separation at peak crank
  • Hip rotation (release)
    How much the hips have rotated through
  • Trunk tilt
    Forward lean at the moment of release
  • Stance width
    Foot spread relative to hip width
  • Front foot angle
    How open or closed the front foot is
  • Weight transfer
    How much weight has shifted onto the front foot
  • Stick angle
    Stick orientation at release — when visible (spec v0.4+)
7 · From the LaxPodOptional sensor
  • Shot duration
    Total time from cock-back to release
  • Wrist-snap timing
    Time from acceleration onset to release peak
  • Peak acceleration
    Maximum g-force during the swing
  • Wrist-snap rate
    Peak angular velocity of the wrist
  • Stick pitch at release
    Stick-head angle the moment the ball leaves
  • Pre-release dip
    Lowest stick pitch during cock-back
  • Stick rotation at release
    Yaw rate at the moment of release

No LaxPod? The pose-only path still classifies your shot — the seven sensor features are NaN-padded and the gradient-boosted model handles missing values natively. The pod just sharpens the picture.

04 · Accuracy

Numbers from the test set, not the marketing department.

159 shots set aside before training, never seen by the model until evaluation. Every number you saw on the previous tile comes from this held-out test. We surface a per-class confusion matrix in our internal admin so we can spot when a shot type is regressing — same numbers, no smoothing.

Held-out shots
159
Overall accuracy
86.8%
Overhand recall
94%
Sidearm recall
83%

We refuse to ship a model that pretends to know what it doesn't. When a class doesn't have enough training data yet, we tell you (look at the bounce / BTB / quickstick cards above). When the model is unsure, the app falls back to a rule-based classifier rather than guessing.

05 · Where it runs

On your phone. Your video stays yours.

The classifier is a 686 KB ONNX model bundled with the app. Pose detection runs on Google ML Kit (also on-device). No video frame ever leaves your phone unless you opt in to a cloud session for replay on the web. Sensor data is yours — export or delete anytime.

Pose detection
Google ML Kit, on-device
Shot classifier
686 KB ONNX, on-device
Inference time
[TODO: cite measured number — e.g. "12 ms on iPhone 13"]

See it on your own film.

Open the app, point your phone at the shooter, and the model scores every rep in real time. Add the LaxPod when you want sensor-grade mechanics on top.