AI route grader · DINOv2 + graph neural net

Is your gym soft?

Snap the wall, tap the holds, and get a second opinion on the grade from a model that has never met your setter.

Grade a route
35,000+training routes
V0 – V13grade range
v2tuned on real gym routes

Drop a wall photo

Get the whole route in frame. JPG, PNG or WEBP. Photos are stored to improve the model.

or try a demo:

How it works

Two models, one route. A vision transformer looks at each hold, a graph network reads the route as a whole. No hand-written rules about what makes a climb hard.

01 · SEE

Every hold gets embedded

Your tap seeds a colour segmentation in LAB space that finds the hold's outline. The wall around it is masked out and the crop goes through a frozen DINOv2 ViT-B/14, which turns shape, texture and size into a 768-dimensional vector.

DINOv2 ViT-B/14 · 768-d
02 · CONNECT

The route becomes a graph

Holds are nodes carrying their embedding, role and position. Every pair is joined by an edge that encodes distance and direction relative to the route itself, so the network sees moves, not pixels, whatever the photo framing. Wall angle rides along as a global feature.

fully connected · 5-d edges
03 · JUDGE

Attention reads the climb

Three GATv2 layers pass information between holds, then attentional pooling turns the route into a full distribution over grades. An ensemble of three networks is pre-trained on 35,000+ community-graded Kilter Board routes, then fine-tuned on real gym routes that climbers graded through this site.

GATv2 ensemble · 21-bin grade distribution