Inspiration

Our inspiration comes from one of our group members, Leo, who always wanted to start working out after the New Year, but could never seem to get started. After talking for a while, we realized that he could never keep his goal because, one, he was watching Youtube videos to base his workouts around, and those videos all contained advanced exercises and the weights were always too heavy. So from there, we decided that an AI could help Leo figure out what workouts he could do and how much weight he could use.

What it does

UniFit creates a workout routine using Machine Learning specially designed for the user, while calculating variables such as weight, height, age, and more. It also includes several helpful tools, such as notifications and motivational messages that would help the user stay on track and continue building the habit of exercising.

How we built it

We chose Replit to collaborate with each other. We used HTML, CSS, and JavaScript to create the website. We produced our dataset using Python, and Pandas to conduct our Machine Learning using scikit-learn through Google Collaboratory.

Challenges we ran into

One of the main difficulties we faced was that there were almost no datasets online pertaining to health data, as well as the amount of weight they were able to use when working out in various exercises. So in order to get around this, we used a pseudo-random generator that generated random heights from 48 to 80 inches, a weight that was calculated based on the height, but random nuances were added to the weights. Furthermore, we used a code that went through the data and used an algorithm to pseudo-randomize the amount of weight each data point was able to use for each exercise.

Another challenge we faced was our lack of knowledge in programming, as David, Eric, and Avi had no knowledge of web development; thus, we had to learn a lot through trial and error. Through the use of online sources such as w3school, we were able to overcome that hurdle over time.

Accomplishments that we're proud of

We feel that our greatest accomplishment was developing a machine learning algorithm which used random forest regression to predict future inputs. Another one of our accomplishments was generating a dataset with 10,000 data points and seven variables involved. Not only that, but our outputs for how much weight each person could use were mostly accurate, proving that we had created a sufficient algorithm. Finally, as none of us had previously done this before, we were extremely proud that we were able to create a website completely from scratch.

What we learned

We learned a lot about website building and machine learning models in python. We not only learned how to create a website but also how to make the website look minimalistic and clean. We obtained lots of hands-on experience in HTML, CSS, and Javascript as well as the Scikit-learn library in python. With this experience, we will expand these hard skills and use them to solve problems in our daily lives.

What's next for UniFit

Now that we’ve shown that the machine learning model works for a pseudo-random dataset, we hope to gain a more accurate dataset in the future, which we can then apply our model to. Furthermore, some of the variables we wanted to add, such as health conditions, duration of work out, gym accessibility, and muscle groups to focus on, were too difficult to implement, and we hope to be able to do this in the future. Finally, we hope to create a mobile app to increase accessibility to the general public.

Share this project:

Updates