Inspiration

Originally we were taken by surprise that there was no theme or prompt for the hackathon, but we quickly came together to begin brainstorming ideas. When we were brainstorming ideas for this project, we knew we didn’t just want to create something simply for the sake of entering the hackathon. We wanted a project that addressed a real problem that we faced, something that would be practical to use long after the deadline had passed. That’s when we realized that we all had one issue in common: a lack of physical activity.

Due to COVID-19, we’ve been locked up in our houses for almost half a year with nothing productive to do. We haven’t been exercising and have instead been binging on snacks in boredom--and we know we aren’t the only ones, as this is one of the most common complaints about the quarantine in social media and online forums. But even if people seized the stay-at-home opportunity and the free time the quarantine has granted us to get started on some workouts, a lot of them wouldn’t even know where to start! That’s why we created FitMe.

What it does

FitMe is a website that allows users to create an account with their basic information, fitness level, workout preferences, and equipment. In the workout tab, they enter the days of the week during which they are available and the type of workout they are looking for. Then, a program auto-generates a workout schedule for them and recommends exercises of each type based on their specifications. In other words, your exercises and routines are tailored to suit your needs exactly! FitMe wouldn’t just help beginners get started with their exercises, it would also help athletes and people who regularly work out maintain a balanced schedule with exercises that suited them. We were really excited to get started on this idea because of the range of people that it could help.

How we built it

We utilized Firebase to serve as our backend along with our login-system. Our website was made with HTML, CSS and Javascript. The site was split into several parts: styling/aesthetics, parsing and recommending exercises, generating a schedule, and account functionality and features. Our team of four divided and conquered these tasks to construct our site. The recommendations were made to be based on the user-provided data, with only exercises that matched the user’s level, equipment and other factors being shown. The schedule-generator was tailored to beginners and made to stick to a basic 3 workouts per week with one day rest in between as much as possible. We stored user info in Firebase and used their unique user IDs to link the information to the accounts.

Challenges

Of course, we needed to overcome many problems as we were coding. One of our main issues was communication, as we often found ourselves working on the same code as team members due to vague task assignments. We later corrected this by specifically stating which part of the code we were working on before we started a new task. We also had problems with creating a schedule in a logical and consistent way, but through trial and error were able to find an algorithm that works.

What We Learned

Throughout the creation of this website, the team got together and discovered many different cool aspects of HTML, CSS, and Javascript. Developing a website normally requires coming up with creative solutions to myriad design problems as you work, and this is especially true when the website has to go from concept to fully realized in less than 30 hours. In overcoming the various limitations we encountered as we worked, we became more capable coders and app developers.

What’s next for FitMe

We want to expand FitMe to support more types of workouts, and more ways for people to customize their profiles and preferences. Right now, we have support for a relatively wide array of space and equipment settings, but an expanded version of FitMe would need even more to provide the best possible workout recommendations to our users.

We would also like to enhance the power of the schedule maker tool, and make it easier to constrain certain elements of the suggested schedule to better fit your needs, or to query FitMe for a new schedule if your first one doesn’t satisfy you. One way we could do this is by implementing a way for users to specify their preferences for individual exercises.

In the end, we created a product that we are truly proud of--a fitness website that could help users with a variety of fitness levels and preferences stay healthy and fit during quarantine. We had a lot of fun coding this project and hope to continue working on it in the future.

Emails: andyzhang@ctemc.org, nisrinivasan@ctemc.org, hazaky@ctemc.org, beknobloch@ctemc.org

Share this project:

Updates