Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for RepMechanics
Inspiration
As someone interested in both strength training and software engineering, I've always been curious about why exercises targeting the same muscles can feel so different.
Take biceps curls, for example. A conventional standing curl tends to have its greatest external resistance around the middle of the movement, whereas changing the position of the upper arm can shift where that resistance peaks.
I wanted to build something that makes these differences visible. Rather than relying on subjective descriptions of exercises being harder at the bottom, middle or top, RepMechanics aims to quantify and visualise how mechanical resistance changes throughout the range of motion.
My longer-term vision is for anyone to record themselves exercising on a smartphone and receive a personalised analysis of their movement.
What it does
RepMechanics is an interactive biomechanics application that allows users to compare the estimated external resistance profiles of strength-training exercises.
The current prototype focuses on four biceps curl variations: standing, preacher, spider and incline curls.
Users can:
- Select two exercises to compare.
- Adjust upper-arm orientation, external load and elbow-to-weight distance.
- Visualise how estimated external elbow torque changes throughout the range of motion.
- Switch between absolute torque (Nm) and normalised resistance profiles (%).
- Identify where peak external torque occurs.
- Generate a natural-language comparison using NVIDIA Nemotron.
The application demonstrates how changing exercise geometry can significantly alter the distribution of external resistance, even when the weight remains the same.
This is an initial working prototype rather than the finished product. The current calculations use simplified, assumed exercise geometry. They are not yet derived from recordings of actual movement.
How I built it
I built RepMechanics primarily in Python, with three main components.
1. Physics-based biomechanics engine
Using NumPy, I implemented a simplified two-dimensional, quasi-static model that calculates external elbow torque throughout a movement.
The calculations account for gravitational force, the elbow-to-load distance and the orientation of the forearm relative to gravity.
By changing the upper-arm position, the application generates different theoretical resistance profiles across the elbow's range of motion.
2. Interactive visualisation
I used Streamlit to build the application interface and Plotly to generate interactive resistance-profile graphs.
Users can experiment with movement geometry and immediately see how the calculated curves change.
3. NVIDIA Nemotron integration
I integrated NVIDIA Nemotron 3.5 Lightning through Nebius Token Factory using its OpenAI-compatible API.
The application sends structured numerical results from the biomechanics engine to Nemotron, which generates an accessible explanation of the differences between the resistance profiles.
The physics calculations are performed independently of the language model. Nemotron is responsible for interpreting and communicating the results, rather than generating the torque values itself.
I deployed the application publicly using Streamlit Community Cloud, with the source code available on GitHub.
Challenges I faced
One of the main challenges was translating exercise movements into a consistent mathematical model.
Different exercises position the upper arm differently relative to gravity, and getting the angle conventions right was essential. Early versions of the calculations produced resistance curves that highlighted the importance of checking the underlying mechanics rather than simply trusting the output.
Another challenge was integrating a reasoning model effectively. My initial Nemotron requests produced reasoning text instead of a concise final answer, which led me to adjust the inference configuration.
I also discovered that language models can occasionally misinterpret numerical data, even when provided with structured results. This is something I intend to improve by calculating more comparison statistics deterministically before passing them to Nemotron.
Accomplishments
I'm particularly pleased to have built and deployed an end-to-end working prototype that combines mathematical modelling, interactive data visualisation and an NVIDIA open-source AI model.
RepMechanics currently provides a usable interface for exploring how exercise geometry affects external joint torque, with an AI component that makes the results easier to understand.
The application is publicly accessible, and the code is open source.
What I learned
This project strengthened my understanding of how biomechanics, numerical modelling and AI can work together.
One of my biggest takeaways was that AI is most useful here when it complements a transparent computational model rather than replacing it.
I also gained practical experience working with NVIDIA Nemotron, Nebius Token Factory, API integration, Streamlit deployment and the challenges of moving from a concept to a publicly accessible application.
What's next for RepMechanics
RepMechanics is an ongoing personal project, and this hackathon submission represents its first milestone.
The next major development stage is integrating computer vision.
I want users to be able to upload smartphone videos of themselves performing exercises. The application would then estimate joint positions and movement trajectories, replacing manually specified exercise geometry with movement-specific data.
Further plans include:
- Automatic joint tracking and repetition detection.
- Support for a wider range of resistance-training exercises.
- Modelling actual movement trajectories rather than fixed upper-arm positions.
- Support for different equipment and resistance mechanisms.
- Improved biomechanical accuracy and validation against reference data.
- More reliable, numerically grounded AI interpretation.
- Personalised exercise comparisons based on individual body proportions.
The ultimate goal is to develop RepMechanics into an accessible tool for exploring and understanding the mechanics of resistance training.
Current limitations
The prototype uses a simplified two-dimensional, quasi-static model and illustrative exercise configurations. It does not yet process video, account for movement acceleration or estimate individual muscle activation.
The plotted external torque magnitude is not equivalent to muscle force or subjective exercise difficulty. The model's results have not yet been experimentally validated, and AI-generated interpretations may contain errors.
These limitations form an important part of the project's future development roadmap.
Log in or sign up for Devpost to join the conversation.