Inspiration

I am a rock climber, and I always use a few tools with me while I climb. A chalk bag, climbing shoes, but especially my phone. Recording yourself is a fun way to share your accomplishments with your friends, but it's also a great way to improve. Watching yourself climb from afar can show you where you messed up, what you missed, and what to change. However, every time I record myself and try to compare times when I climbed well, and times when I didn't, get's pretty tedious and confusing since I have to swipe back and forth through many attempts. This is where Ghost Climber comes in.

What it does

Ghost climber is an analytical program that lets you compare multiple attempts with each other, overlaying them and seeing which were better. An AI also scans your movement live and can give you automatic feedback on ways to improve.

How we built it

I used the standard html, css, and javascript to code the frontend and backend. I used local AI and an API to get statistics and a coach feedback. I also added a videorecorder and upload system to let the user record themselves straight from the app or upload existing videos.

Challenges we ran into

All the AI in the background started running the video super slow, like a frame a second. I spent hours trying to optimize the AI over and over again to make it as fast as possible. This is when I figured out I could make a local AI worker to run in the back so the app doesn't lag. There was one point where I even thought about giving up entirely because of this.

Accomplishments that we're proud of

I am super proud of the live motion feedback. It doesn't look like much but it took the most time to make by far. I love the way it turned out and I think it was worth the time.

What we learned

I learned that you can't mess around during a hackathon. I basically devoted all 24 hours to coding and sleep, and I still felt short on time.

What's next for GhostClimber

Hopefully, I can make GhostClimber feel more like it's made specifically for climbers. Without the AI its literally just a transparency filter. I also want to make the mobile version way better since that was what it was intended for in the first place.

Built With

Share this project:

Updates