Inspiration

With the awareness of fitness and mental health rising, the demand for going to the gym with a partner has increased. However, it is hard to find a matching gym partner. The current profile-matching social media in the market, such as Tinder, Bumble, and Hinge, are mostly focused on dating relationships. The sports events on social media such as Bvddy, Meetup and November Project are more event-orientated sports apps. Therefore, our team Elgoog, as a group of students that love going to the gym, is introducing a website application called GymBro. It is designed to match individuals with real gym partners based on their gym routine, such as the weight they lift, the gym location, the workout hours, etc.

What it does

GymBro is essentially a social platform for people who love to go to the gym and want to find a buddy to go to the gym together. The system will match people with their training schedule and location with machine learning. GymBro allows users to register with a phone number or email or to connect with Google Oauth. New users need to fill in their name, age, and gender (if they are comfortable). If they can upload a photo of themselves, a trustworthy score will be awarded if it is recognized as a viable face. More information can be filled in this stage or later, such as the gym they go to, the weight they bench, and what days they go to the gym. After the registration got confirmed, the user will be presented with the main page. Now the app will ask for location information, and if it is not enabled it will use the gym location/postcode provided before. If it is empty, the recommendation will be around Australia. The main page will have a swappable card which displays the matching person’s name and photo. The user can click the match button on the card to request to match and dismiss button to go next. The person who appeared already will not appear in this round of browsing again. The algorithm will calculate a similarity label for the users based on location and recommend based on the score. If two people click match on each other, they will be matched. On the left side of the screen will be a list of chat who has been matching with the user. The user can continuously talk with them and set up a mutual gym goal with them. If the user is not comfortable with the person, the block/report function can be used. The trustworthy score will decline if someone is reported too many times, and if the score is lower than 10%, he will no longer be visible to others for 5 days for the first time, then a 10% score will be granted to them, and the next time he will be deleted from the app. User can modify their gym schedule and other states in the profile in settings. They can also completely delete their account from the app if they wish.

How we built it

This application has a RESTful architecture, which uses React frontend, Flask backend and MongoDB atlas as database. Bootstrap is also used to beautify the It is a single-page application which can be downloaded to a local machine which enables faster access. It has GoogleOauth API for authorisation from the Google account. The location of gyms in the area will be done through the Google Map API.

Challenges we ran into

During the competition, we faced challenges such as the new technology stack, no experience in website design, and short time constraints with a huge task. We have also gained research skills, so we started learning and diving into the unfamiliar field, trying to search for answers on Google. Once we are all comfortable with the technology stack, we break down the tasks by assigning them according to the interest points and skill sets. On the second day, we cleared up our tasks by making a summary of what goals are realistic and what goals are not possible, and then we started working towards the goals. In the end, we were able to finish everything we wanted and were able to submit the tasks.

Accomplishments that we're proud of

We have managed to control the project and finish planning it within a tight time schedule. We have also come up with some fantastic ideas which make our project outstanding such as machine learning and utilisation of APIs.

What we learned

In this 2-day competition, we have learnt the technical skills which are the stack we used. We have also learnt interpersonal skills such as collaboration as a team, problem-solving skills, and being responsible for our tasks.

What's next for GymBro

We will continue developing GymBro, and manage the progress closely. This is a precious experience for website development and the idea has its potential. We are looking forward to building GymBro into its true form.

Built With

Share this project:

Updates