Our goal with Workout Planner was to design an app that made physical fitness simple and easily achievable. We recognized that the primary reasons people didn’t exercise were a lack of time and knowledge of exercise techniques. Our team drew inspiration from the language learning app, Duolingo, and simplified exercises into manageable portions that could be completed in 10 to 15 minutes.

What it does

Our application has three primary functionalities. Our app takes in user goals such as muscle building or calorie burning and then creates a fitness schedule around it. By taking in inputs like frequency of workout, fitness goal, and targeted muscle groups, we create a weekly schedule to improve fitness. Furthermore, users can set milestone frequencies, which are exercises to track their progress towards fitness goals. Based on the previous milestone, our app calculates the number of repetitions using the formula: Repetitions = MAX(5 + last milestone, ROUND(last milestone * 1.1,0)) to create controllable growth. Finally, we implement the concept of an accountability concept, which is a contact who will be notified if you don’t complete your exercise goals. The intent is that the accountability partner will help keep the user working out, and will be notified if they don’t.

How we built it

We began with brainstorming functionalities and design concepts for our app. This included things like designing the frontend, writing pseudocode for backend, and researching exercise and app development techniques. In the process of design, we used a program called Figma to visualize and provide the frontend for our app. Next, we created the GitHub repository for our app project, and our team downloaded Android Studio to develop the app.

Challenges we ran into

As a group, we experienced our fair share of challenges while working through this hackathon. This was everybody’s first time doing a hackathon type event, so we didn’t have any experience going in. This was the source of one major difficulty: we weren’t certain what the project complexity should be. It would have been really easy for us to code a website or simple computer program, but we reached the conclusion that it would not have been a interesting or challenging experience and decided to go with another project. Additionally, we chose to develop an app, which required knowledge that none of our members had. It’s as a result of this that we ran into some significant time issues, which lead to an overall less than optimal end result app. We weren’t able to build out all the functionality we planned, mostly because we couldn’t get the backend to function completely. However, we did create a full design and functioning frontend prototype which we are proud of.

Accomplishments that we're proud of

Our biggest accomplishment this hackathon was being able to make a functional prototype. While this prototype didn’t have all the backend coded, the front end at least represents what our app would have looked like. Furthermore, we did code part of the backend, and even though we didn’t code the whole thing, the portion we did have time to finish is an accomplishment we are proud of.

What we learned

We were able to experiment with using many useful tools as a part of attempting to make this exercise app. Our group members learned how to use the IntelliJ platform through the use of Android Studio, as well as how to use Figma for prototyping. In addition to this, we learned a lot about hackathons, pacing, and projects in general.

What's next for Workout planner

If this hackathon were to go on indefinitely, we would definitely focus on adding more polish to our product. As of right now, the user interface of our app does not implement much of our backend, so that would be a big priority for our team. We would then work on adding more exercises to our app, as we have built our app framework around being flexible and open to new exercise entries. Furthermore, we would add in a better tracker for cardio, as our focus in the allotted time was on muscle building exercise.

Share this project: