The Approach
1
Ingest & weight 137K routes
Synced from the Aurora API and BoardLib; each route consensus-weighted by log-ascents × quality so well-validated grades dominate the noise.
2
Engineer 86 features
Hold geometry, move sequence, and angle interactions, plus body pose imputed from 1.9M MediaPipe frames (33 landmarks each).
3
Stack & augment
XGBoost (900 trees) + LightGBM blended by a Ridge meta-learner — 357K training rows with mirror/reversal augmentation and hard-grade oversampling.
4
Calibrate & personalize
Isotonic calibration to a V-grade with a q10–q90 uncertainty band, then re-scored for the climber's height, ape index, and weight.
Accuracy by Grade
Within-one-grade accuracy is highest on the core grades V4–V6, where most climbing happens. The hardest grades (V9+) are the open problem — there simply aren't enough routes to learn from yet.