Track: General
Inspiration
I recently started lifting weights a lot and my friend, who is a competitive powerlifter, made me a program to help me train. However, all of my workouts are in an excel spreadsheet that I have to look at and edit while I'm at the gym which is difficult to do from my phone, so I made this app to make it an easier experience!
What it does
You can you Lifty to create multiple training programs each with multiple different workouts! Track which lifts are a part of your workout, mark off which you have finished, and track your progress.
How we built it
This is a native Android app built in Android studio using Kotlin, XML, and Firebase.
Challenges we ran into
I have never used a realtime database on Firebase before and although I was able to save workouts to the database, I had a lot of trouble retrieving the information and parsing the Json back into objects since the different entities were quite complex. I ended up not being able to have this as a part of the app at this time since it would take too long to write code to parse the Json.
Accomplishments that we're proud of
I'm really, really proud of how well the UI turned out and how much I was able to accomplish in such a short time.
What we learned
I learned that it's important to think about what type of database is best suited to your data. In this case, I would've been much better off with a relational database with multiple tables than a heavily nested Json in a noSQL database.
What's next for Lifty
Data persistence on Firebase obviously, but more importantly Auth and accounts so that trainers and coaches can make workouts for their clients and track their progress! Also, the ability to set different weight and RPE for different weeks of the program, editing and deleting entities. I'm also going to start using the app! Once it's quite refined I'll try to put it in the Playstore!
Log in or sign up for Devpost to join the conversation.