Inspiration
Today’s market is flooded with many fitness and nutrition apps, each confined to its own user interface and proprietary system. The current situation forces people to toggle between many different apps just to track basic health metrics. Furthermore, some of our friends whom gym regularly have noticed the "new year resolutioners" phenomenon, where gym-goers at the start of the year fail to stay consistent and eventually stop gymming. To eliminate the mental load of managing multiple apps and make it easier to stay consistent, we decided to build Shamo. Shamo was conceived as an all-in-one app that unifies fitness and nutrition tracking and delivers a gamified, cohesive user experience.
What it does
Using Shamo, users can easily track their diet and workouts, as well as their progress over time. Our Reka-powered AI can also tailor a specialised workout plan according to the user’s body type and goals. We also included an IPPT calculator that will help national servicemen. This IPPT calculator incorporates our Reka-powered AI to count the number of reps of push-ups and sit-ups done by the user, by recording them through their phone’s camera. This allows them to train for their upcoming IPPT and ensure that their form is in good shape.
Under the diet tab, users can select their fitness goal – lose weight, maintain or build muscle. Based on their gender, height and weight, our Reka-powered AI will recommend a customised meal plan to help them stay on track.
The main gamified functionality can be found in the missions tab, where users are given daily tasks to complete. These tasks set goals pertaining to the user’s diet and workouts. Users are rewarded with coins and XP when these missions are completed. After finishing a workout, users will also be rewarded with coins and XP for the specific muscle group trained, and will visually see their gains (bigger muscles) reflected on their avatars once a specific muscle group has levelled up. Coins can be used in the shop to buy cosmetics and power-ups for their avatar, while XP advances the user’s standing in their current fitness league (similar to Duolingo’s leagues). Additionally, users can view the leaderboards for specific exercises and compete within their fitness leagues to see who can lift the heaviest weights and do the most reps.
Lastly, the social tab provides a safe space to find like-minded people and make friends, allowing users to build a community, further encouraging them to stay consistent throughout their fitness journey.
How we built it
Shamo was built using Expo (a full-stack React Native framework) and Tailwind CSS.
Challenges
Our biggest challenges in developing Shamo were learning the React Native + Tailwind CSS framework and the process of repeatedly iterating on our ideas. Most of our team had little to no prior experience developing mobile apps, and there were many times when we would implement a feature, only to have to rework it because it did not match the feel and vision we wanted for Shamo.
Accomplishments that we're proud of
We are proud to have designed a clean and minimalistic interface that allows users to intuitively navigate our app. We are also proud of our many different features that work together seamlessly to offer real utility and an enhanced user experience.
What we learned
Our team got to learn more about mobile development by leveraging React Native and Tailwind to build the UI. Collaborating on GitHub has also made us more familiar with the platform and increased our knowledge of essential Git operations, exposing us to real-world development workflows.
What's next for Project Shamo
For the future, we hope to lean more into the gamified aspect of Shamo by implementing features from mobile games that make receiving rewards more engaging and exciting. These might include adding vibrations and colourful animations. We also have plans to tighten the sense of ownership and investment users feel for their avatar by increasing the variety of cosmetics available and making a tiered appearance system for the muscle groups, so that muscle groups get increasingly aesthetically appealing visuals and animations as they level up. One “muscle group” we had in mind, but couldn't implement in time, would be the heart, where there would be a heart in the avatar (“Me”) page to represent the user’s cardiovascular health. This would then coincide with an additional tab that would record running workouts, similar to Strava.
Built With
- expo.io
- postgresql
- react
- tailwind
Log in or sign up for Devpost to join the conversation.