Technology has clearly made a profound impact on our society through the news, social platforms, and high-speed communications. Our group's inspiration for this project came from our own experience of seeing how big of an influence tech and social media could be on the well-being of people today, especially those who do not frequently get the opportunity to converse with people in person. However, there has always seemed to be a lack of technological influence in the realms of activity/athleticism, another vital aspect of everyone's wellness. Because of this, our group created Step by Step, a mobile app that specifically targets this issue by providing a social platform where friendly competitive exercise is encouraged.
What it does
Step by Step closes the divide between social media and exercise by creating a platform that provides a motivating experience to stay in shape. Basically, after the user creates their customizable account and enters benchmark data, they will be derived a rank and will have the opportunity to compete against others to improve it through tournaments. A tournament is a 24-hour window where the user gets the opportunity to improve their rank. The user gets put into a group of 50 similarly ranked people, and those who achieve the highest scores will win. Video submissions through the app are required in order to ensure the validity of the results. Winning a tournament improves the user's rank, which can be viewed along with all other users' on the global leaderboard page. Here they can track their and their friends' ranks while comparing them to the best of the world.
Here's the kicker: the user can compare their rank with others on the global leaderboard page. This way they can track their and their friends' ranks while comparing them to the best in the world. This provides the crucial incentivization of participating in Step by Step, being able to see yourself improve, and maybe even do a little bit of showing off.
How we built it
We built the project using a combination of software and frameworks. We used Flutter for our main app, including the rank, tournament score, leaderboard, and most of the UI / user-oriented functionality. For our data storage, we decided to use Firebase. We used Firebase Auth to handle logins and Firebase Storage and Firestore to store all scores, users, videos, records, and tournaments for easy real-time access later on.
Challenges we ran into
There was a good range of problems from tournament opponent cards blinking to Firebase Firestore refusing to work. Some, like Firebase Storage refusing to display photos, interestingly fixed themselves while others needed extensive fixing and frustration to mend out. [notworking]() Although one of the most attractive features of Flutter is its cross comparability, we still have some issues making the screens look similar on both devices. For example, on certain pages such as the login and tournament viewing page, the User Interfaces would look somewhat dissimilar. We had to go back once or twice to make sure we were using the correct widget hierarchy or else it could cause some of those issues.
Accomplishments that we're proud of
First and foremost, we are extremely proud of two of our members not only for completing their first hackathon but managing to genuinely contribute without any prior mobile development experience. Though the other two of us could serve as mentors, it was an impressive leap of faith they had to take when they decided to sign up.
What we learned
This hackathon served as a great reminder of the importance of having solid team communication. Especially for virtual hackathons, it is crucial that we are constantly updating each other on what work has and is being done. In this hackathon we only had a couple of hours left and before it finally seemed like we were all on the same page of what exactly the app is going to look like.
Our two new members also learned the importance of having good communication between frontend and backend workers. They ended up wasting a large amount of time creating an interface that wasn't fully compatible with what the backend developer had in mind.
What's next for Step by Step
Although we believe that the foundation for Step by Step is largely already completed, I think all four of us can strongly agree that adding extra customization would be a huge bonus to the app. For example, we hope to eventually add the ability for the user to alter the size of the tournaments they join. We also think it would help to implement a variety of other athletic challenges such as pullups and sprints.