Inspiration

The idea for our app came from a truly inspiring Instagram transformation reel. It was one of those moments when you see someone's incredible journey of losing 65 pounds over two years, and it just hits you right in the heart. It made us realize that the short and captivating reels we watch on social media often hide the real story behind years of hard work and dedication.

Seeing the effort and consistency required to achieve such amazing fitness goals touched us deeply, and we wanted to find a way to make that journey easier for others. We wanted to create something that would not only motivate people to work out but also help them track their progress in a way that feels rewarding and encouraging. So, with that inspiration driving us, we set out to build an app that could be a helpful companion on everyone's unique fitness adventure.

What it does

  1. Post Workout Pump Capturing
    We realized that people don't click a lot of post-workout images and if they do, it's often in an album filled with tons of other photos. Thus, we encourage our users to capture images of their muscle pumps after every workout so as to build a carousel of photos with which people can track their progress over time. In this way, clicking pictures and being able to view that progress also incentivizes users to hit the gym more often. We use Google ML Kit's Pose Detection to help users click photos in poses tailored to specific muscles. This helps build uniformity across all images which in turn helps accurately depict the progress our users have made.

  2. Progress Tracking
    As users continue clicking pictures after workouts, they accumulate enough images for them to view how they have progressed over time. Being able to view specific muscles separately also helps users analyze where their growth is more and where they need to focus in the future. This progress can then be shared across any social media platform with the click of a button. Lastly, while the progress is visible to users externally, adding Google's ML Kit allows the app to potentially internally track and analyze the progress too.

How we built it

Our app was developed using Flutter (Dart), enabling us to create a seamless cross-platform experience for both iOS and Android users. To implement our visual muscle growth tracker, we harnessed the power of Google's Machine Learning Kit. In terms of user interface, we adhered to Google's Material Design principles, ensuring an intuitive and visually appealing experience. Furthermore, all the images used in the app are stored securely on Firebase Storage.

Challenges we ran into

Converting Images to Video in Flutter: Initially, we encountered a significant hurdle when trying to convert multiple images into a video within our Flutter app. The traditional approach using FFMPEG's package for Dart was no longer viable due to its discontinuation. However, we quickly pivoted our idea and found a better solution. We decided to leverage the phone's native share dialog, which proved to be an elegant workaround. This approach not only allowed users to share images as videos on platforms like Instagram reels but also provided the flexibility to share individual images on various messaging apps like WhatsApp. By adapting our strategy, we not only overcame the bug but also enhanced the overall user experience.

Capturing Single Frame from Google ML Kit's Live Pose Detection Model: During the implementation of Google ML Kit's Live Pose Detection Model, we realized that the package lacked a method specifically designed to capture a single frame since the model was intended for real-time processing. However, we came up with a clever solution to overcome this limitation. Instead of relying on a dedicated constructor, we decided to take a screenshot of the live pose detection output. By effectively capturing the screen at the right moment, we successfully extracted the desired single frame for further processing. This creative workaround allowed us to leverage the power of Google ML Kit's Live Pose Detection while achieving our specific image capture needs.

Accomplishments that we're proud of

While it is an achievement that we managed to create a functional app, the bigger accomplishment for us would be that our app contributes to society in a way that is close to both of us. Having our fair share of health issues, we have been trying to work on our regularity in going to the gym. With ctrl_freak, we see how it could benefit us in working on our fitness, and hope that it benefits many other people too.

What's next for Ctrl Freak

While we have a minimum viable product, we would like to add more features to it. Firstly, we would like to use Google's ML Kit and its muscle tracking to analyze the progress internally and provide suggestions to the users which could help people fix their mistakes. Secondly, we want to implement a gym routine tracker and use our already implemented Pose Detection for exercise form correction. Lastly, with our community of gym enthusiasts, we would like to convert ctrl_freak into a form of social media tailored to fitness enthusiasts for mutual motivation and collaboration.

Built With

Share this project:

Updates