Inspiration

In recent years, rock climbing has exploded in popularity. A study conducted in 2021 found there were over 5.6 million indoor climbers in the U.S., up approximately 7.1% from 2019. As the sport grows, more climbers are training frequently enough to plateau at their local gyms. Indoor climbers commonly report climbing 2–3 times per week, and industry reporting notes that committed climbers often “max out” the regular commercial sets available to them.

Once they exhaust the climbs that match their skill level, the remaining options often feel either too repetitive or too difficult, leaving them with limited ways to improve. One existing but underutilized resource is the spray wall: an indoor climbing wall densely covered in a wide variety of holds. Spray walls can be used to create targeted training problems, but beginner and intermediate climbers rarely use them because setting effective routes requires time, experience, and creativity. Climbing Business Journal describes spray walls without designated problems as potentially “overwhelming and directionless” which aligns with the friction identified in our user research.

Consequently, climbers lose access to a valuable progression tool while gyms underutilize a meaningful training asset.

What it does

Our product helps rock climbers increase training variety without the manual effort of route setting. The app scans spray walls and other high-density training walls to generate climbs digitally, which are then presented to users via a phone overlay.

How we built it

Users take a photo (LiDAR is also supported) with Apple's native ARKit. Then, we built a custom backend API for the mobile app to call to analyze the picture and perform the needed calculations. We use a Detectron2 model to find holds in the image, then we run it through Gemini to filter out some errors that the model may find, and we use a randomized-constrained depth-first-search algorithm to find possible routes. To keep track of each user's climbs, we use a DB and GCS to store all the images, user data, routes and so forth.

Challenges we ran into

Many issues with improving the user interface, the graph pathfinding needed a lot of tuning. Our training data had a lot of tape on the board which we needed to filter out.

Accomplishments that we're proud of

Getting a good pathfinding algorithm to work and making a product that helps us with our hobbies.

What we learned

This was our first time making a iOS app and there was a steep learning curve.

What's next for Sasquatch

Add structured user feedback on generated climbs, such as too easy, too hard, awkward, or fun, to improve future route generation.

Enable users to customize generated climbs by adjusting or regenerating specific parts of the route.

Enable in-app climb sharing between Sasquatch users rather than only sharing a static image through iMessage.

Build shared walls and climb libraries so users can browse and reuse routes created by others.

Improve latency by doing local inference.

Built With

Share this project:

Updates