Try it now!
Inspiration
Climbing is one of the most social sports there is.
People cheer each other on, share beta, and celebrate sends together. But the climbs themselves are temporary. Routes change every few weeks, and the moments tied to them disappear just as quickly.
That means the experiences climbers care about most rarely get captured or shared in a meaningful way. The struggle on a crux move, the breakthrough send, the laughs with friends between attempts.
We asked ourselves:
What if every climb could become a memory you could keep and share?
That idea led to Crux. A platform designed to preserve and share climbing experiences, while using machine learning to recognise and track climbs in the real world.
What it does
Crux turns climbing routes into shareable social experiences.
Using Crux, climbers can photograph a wall, identify a route, and share their climb with others.
Social Climb Feed
Climbers can:
- Post climbs with photos
- Share attempts, beta, and sends
- React and comment on posts
- Discover climbs from other users
ML-powered Hold Detection
Crux uses computer vision to detect every hold on a climbing wall from a single photo.
Route Identification via Colour Detection
Climbing routes are typically defined by hold colour. Our system detects hold colours and groups them to identify a specific climb.
This allows Crux to automatically determine which climb the user is attempting.
Location-Based Discovery
Climbers can explore posts and routes from others in the same gym or location.
The result
Crux creates a digital layer over climbing gyms where routes can be shared, discussed, and remembered. Even after they are removed from the wall.
Think of it as Strava for climbers, but powered by computer vision.
How we built it
Frontend
We built the user interface using Next.js, enabling a fast and responsive social feed where users can post climbs, react to posts, and browse routes.
Backend
The backend powers:
- climb posts
- user interactions
- image uploads
- route data
It connects the social features with the machine learning pipeline.
Machine Learning Pipeline
Our ML system processes photos of climbing walls to:
- Detect all climbing holds on the wall
- Identify hold colours
- Group holds belonging to the same route
This allows Crux to identify a specific climb from a single photo.
The output is then integrated into the app so users can quickly post and tag their climb.
Team
- Frontend: Marcus, Alexis
- Backend: Glenn, Jae, Ben
- Machine Learning: Paul
- Design & Video: Glenn
Challenges we ran into
Detecting holds in visually complex environments
Climbing walls contain dozens of overlapping holds with different shapes, colours, and lighting conditions. Detecting them reliably required building a pipeline that could identify holds across noisy images.
Identifying the correct route
Routes are defined by colour, but many routes overlap or share nearby holds. Designing logic to group holds correctly and identify a specific climb was a key challenge.
Integrating ML into a usable product
Computer vision output alone isn’t useful unless it fits seamlessly into the user experience. We spent significant time designing workflows that make route detection feel intuitive when creating a post.
What we learned
This project taught us a lot about bridging machine learning and real-world user experiences.
We learned that:
- Computer vision can unlock entirely new ways of interacting with physical environments.
- The hardest part of ML products isn’t the model but it’s integrating the output into a useful workflow.
- Hackathons force teams to prioritise what actually delivers value.
What's next
Crux started as a hackathon project, but we believe it could grow into a full platform for climbers.
Future directions include:
Climb Difficulty Tracking
Track attempts, sends, and progression over time.
Training Analytics
Use climbing history to provide insights into strengths, weaknesses, and improvement.
Beta Marketplace
Allow climbers to share and discover beta for specific climbs.
Video Movement Analysis
Use computer vision to analyse climbing technique and provide feedback.
Crux transforms climbing walls into shareable, trackable digital experiences so no climb is ever forgotten.
Built With
- leaflet.js
- next.js
- openstreetmap
- playwright
- react
- roboflow
- supabase
- tailwind
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.