Hive

Hive

An AI driven gym app aimed to help people with some degree of limited mobility to start their gym journey.

Contributors

Contributors

Contributors

Contributors

Anya Nese, Camille Catalos, and Rhea Kapadia

Role

Role

Role

Role

Backend Developer, Project Manager, and 1 of 3 Designers

Technology

Technology

Technology

Technology

Express.js + EJS + CSS + OpenAI + Pinecone + Firestore + Google Authetication + Github + Jira + Womp + Figma

Year

Year

Year

Year

2024

A mockup of a laptop for the HIVE dashboard page
A mockup of a laptop for the HIVE dashboard page
A mockup of a laptop for the HIVE dashboard page
A mockup of a laptop for the HIVE dashboard page

Challenge


81% of people with a disability don’t feel welcome in the fitness industry.


Hive provides a unique solution to a common problem. Providing a platform for users to generate personalized workout plans based on their available equipment, target muscles, and pain points. Our project stand out in the industry due to its emphasis on accessibility, catering to a diverse range of users.

Challenge


81% of people with a disability don’t feel welcome in the fitness industry.


Hive provides a unique solution to a common problem. Providing a platform for users to generate personalized workout plans based on their available equipment, target muscles, and pain points. Our project stand out in the industry due to its emphasis on accessibility, catering to a diverse range of users.

A mockup of a laptop for the HIVE sign up page
A mockup of a laptop for the HIVE sign up page
A mockup of a laptop for the HIVE sign up page
A mockup of a laptop for the HIVE sign up page

Process

Our timeline for this project was 4 weeks, given our very limited time we had to be mindful on how we approached our problem. As a result. our time was split into research, definitions & design, and development.


Research

The team started by researching, we needed to understand our user to even begin writing down what requirements were needed for the app. This mostly looked like researching on reddit about current users and their complaints, researching our competitors, and asking family/friends about their gym preferences.


We found that most users want a higher degree of customization. There was a general consensus that the pain point for current workout apps is that users are not able to filter out exercises they cannot perform. With reddit users stating "I can't jump", "I can't lift heavy", "I can't stand on one leg", "I can't get on the floor", etc.

Through our research we were made aware how important it is to show empathy through our product. Every single user is going through a different stage of their personal journey. Having a disability is incredibly difficult and our last goal was to make their lives even more difficult.


Defining the App

Once we knew the problem we were trying to solve, we set out to define the app. Mapping out features, designing the site, and deciding the technology to be used.


Time was our biggest issue on this project, everyone on the team was eager to create innovative features that would revolutionize the traditional gym experience. However, with about two weeks reserved for coding we had to start off with the basics, consequently, our core feature was an AI based workout generator. The carousel below showcases some of the potential features that we identified and organized based on difficulty, and thus time.


Once we defined the features of our app, the design process began. I took the lead in establishing the site’s "brand," which included creating the logo, 3D mascot, slogan, color scheme, fonts, overall inspiration, and the site's visual identity. I primarily served as the backend developer for this project, therefore I made sure that design tasks were aligned with my team member's coding skills and comfort levels. As a result, I focused on designing simple pages such as the landing page, sign-up, login, locations, and workouts, while my teammates worked on other pages that they would take the lead in for front-end development.


Another critical task for the week was selecting the technologies for our project. Identifying a suitable exercise API proved particularly challenging, as finding a free API that included exercise names, descriptions, equipment, muscle groups, and video content exceeded our initial expectations. Ultimately, we decided to use Express.js for the backend, based on the team’s collective experience. For our database, we chose Google Firestore, and to maintain consistency within the Google ecosystem, we implemented Google Authentication for user login.

Figma Design



Coding

The next two weeks were dedicated to coding. By this point, our team had hit its stride. We maintained a consistent rhythm, meeting at least once a week throughout the project and increasing the frequency whenever challenges came up. Communication remained constant as we stayed connected through our Discord channel, ensuring everyone was aligned and progress stayed on track.


I made sure to set up the barebones of the site prior to these two weeks, with the required data being sent to each page, so the entire team could jump right into work. To implement our custom AI workout generation feature, I leveraged RAG. Supplementing OpenAI with exercise data retrieved from RapidAPI, which is indexed and vectorized through Pinecone. As a result, users are able to select their target muscles, available equipment, and number of exercises and our AI will generate a workout plan for them by indexing and vectorizing the request and matching it up with our exercises.


I initially wanted to utilize Amazon Bedrock to implement the entire RAG functionality for it's convenience, I had it set up with stretches and strength training exercises. However, the main caveat for this was that the data I had supplied to it included research articles about stretches and a table containing strength training exercises. This meant that I was unable to utilize the stretches data anywhere else on the web app. Unable to find a stretches database we decided to solely focus on strength training and pivot to OpenAI and Pinecone. In this case, AWS would have been perfect for implementing a chatbot, not the functionality we set out to develop.


Solution

A web app to make the gym experience more accessible, featuring:

  • AI workout generator

    • Customizes workouts based on available equipment, target muscle groups, and desired number of exercises.

  • User created workouts

    • Allows users to build and save their own routines.

  • Pain point tracking

    • Enables users to log and monitor discomfort or injuries.

      • Future goal: integrating this data into workout recommendations.

  • Location-based equipment settings

    • Users can define available equipment for different locations (e.g., home, gym).

  • Manual workout tracker

    • Users can track which days they have worked out.


Final Solution


Takeaway


Overall, our team successfully developed a workout app that emphasized accessibility given our tight timeline. I would like to continue with this idea, approaching the challenge from a UX perspective compared to a software engineer one. I believe this will further our agenda and open doors for possible improvements.

While I am proud of what we have created, this project has opened up a whole array of questions that we did not address. Additionally, I hope to enhance accessibility by integrating user pain points into AI-generated workouts and adding a stretch database for mobility, balance, and flexibility—features we couldn’t implement due to time constraints.

Finally, stepping into the role of project manager allowed me to sharpen my communication skills and gain a deeper understanding of the project's scope and impact. As a leader, I wanted team members to be vocal and collaborative, to do so, I made sure our team was clear of our goals from the start and asked a plethora of questions. This enabled us to be on the same page, to make decisions as a team, and allowed us to depend on each other.