An AI-generated climbing route on the Kilter Board layout
★ IEEE Student Forum · 2024

Kilter AI

Generating synthetic Kilter Board bouldering climbs with RNNs and multitask learning. Co-authored with Dr. Amir Ghasemkhani at CSULB.

About the project

The Kilter Board is an LED-lit climbing wall with hundreds of holds — climbers pick a route, the board lights up the relevant holds in colors (start, foot, hand, top), and the climber sends. There are tens of thousands of community-shared routes, but generating new ones is still done by hand.

Kilter AI learns to do this automatically. Given the board layout, a target difficulty, and the wall angle, it generates a brand-new climbing route by predicting which holds to light up and in what role (hand, foot, start, finish).

To train it, we built a scraper that pulls real climbs from the Kilter Board mobile app, processes the LED state into a structured dataset, and feeds it through a stack of recurrent models — eventually settling on a multi-task RNN that predicts hold position and hold role jointly. Side experiments include a Markov chain and a VAE for comparison. Work done with Dr. Amir Ghasemkhani at CSULB.

Model

Multi-task RNN · 4-way joint prediction

Data

Scraped from the Kilter Board app

Variants

RNN · MLP · Markov · VAE

Stack

Python · PyTorch · OpenCV

How it works

  1. Scrape. An image-based scraper drives the Kilter Board app, captures the rendered board for thousands of community climbs, and reads the per-hold LED color to recover (row, column, role) for every active hold. [show scraper]
  2. Index the board. The physical layout of holds is mapped into a discrete grid so the model can predict "hold #157" instead of pixel coordinates. [show layout]
  3. Train. A stack of RNN variants (12 generations from RNN1 to RNN15) — each iteration adds a prediction head: position → role → angle → sequence order. Loss is class-weighted to compensate for the heavy imbalance between hand and foot holds.
  4. Sample. At inference the model emits a sequence of (position, role) pairs until the route closes on a top hold. The generator is conditioned on a target grade and wall angle.

Generated climbs

Four routes the model produced. Cyan = handholds, magenta = top, orange = start, green = feet — matching the Kilter Board's own color convention.

Generated climb 1 Generated climb 5 Generated climb 8 Generated climb 14

Conference poster

IEEE Student Forum poster: Generating Synthetic Kilter Board Bouldering Climbs with RNNs and Multitask Learning
Generating Synthetic Kilter Board Bouldering Climbs with RNNs and Multitask Learning — Vinicius Dugue & Amir Ghasemkhani, California State University Long Beach. Presented at the IEEE Student Forum. Click to open full-size.