Inspiration

The inspiration for FitBot came from the desire to help individuals improve their workout routines and achieve better fitness results. Many people struggle with maintaining proper form during exercises, which can lead to injuries and less effective workouts. FitBot aims to provide personalized feedback and expert advice, empowering users to enhance their performance, avoid injuries, and reach their fitness goals efficiently. By leveraging technology, FitBot makes professional-grade analysis accessible to everyone, ensuring that fitness enthusiasts of all levels can benefit from tailored motion improvement tips.

What it does

The project is a SwiftUI-based fitness tracking app called "FitBot." It provides users with a visual representation of their performance through progress rings and offers personalized feedback based on their ratings. The app displays an overall rating along with detailed evaluations and suggestions for improvement, aiming to help users enhance their fitness routines and achieve their goals. The user interface is designed to be intuitive, with a sleek top bar and easy-to-read feedback messages, making it a valuable tool for anyone looking to track and improve their fitness performance.

How we built it

The project is a SwiftUI-based fitness tracking app called "FitBot," designed to provide users with a visual representation of their performance through progress rings and personalized feedback based on their ratings. The app preprocesses input videos by converting them into GIF files, utilizes AWS Bedrock to call the Claude 3.5 model, and builds prompts to ask Claude for ratings, overall evaluations, and potential improvements. The user interface includes a sleek top bar and easy-to-read feedback messages, aiming to help users enhance their fitness routines and achieve their goals through clear, actionable insights.

Challenges we ran into

During the development of FitBot, we faced several challenges that tested our skills and patience. We spent hours grappling with git workflow issues, such as resolving merge conflicts, managing diverged branches, and recovering lost files, which was crucial for smooth collaboration but quite time-consuming. Integrating video recording and storage using Swift and SwiftUI was another significant hurdle. Ensuring seamless interaction with the device's camera while maintaining optimal performance and a great user experience required meticulous attention to detail. Communicating with the backend also posed challenges, as we needed to reliably upload videos, receive detailed analysis, and handle any errors or interruptions gracefully. This involved extensive testing and debugging to create a robust and efficient system.

Accomplishments that we're proud of

In this project, we used AWS Bedrock Claude to power our software and website designed to help people correct their fitness movements. This application not only effectively assists beginners in learning new exercises but also prevents injuries. We are very proud that this application can truly address users' pain points and protect their health. What is particularly impressive is that, by utilizing existing large models which only take in images, we can efficiently analyze videos to achieve this goal. With this application, users can engage in fitness training more safely and scientifically, thereby improving workout results and reducing the risk of injury.

What we learned

We learned about using SwiftUI for creating the visual parts of apps on Apple devices. SwiftUI makes it easier to design how apps look with less code, and we can see our changes as we make them. We also learned how the part of the app you see and interact with (the front end) talks to the part that handles data and operations (the back end). This communication is important for making the app work smoothly and quickly. Plus, we picked up some basic design skills to make our apps look good and work well. These skills are important for building apps that people enjoy using.

What's next for FitBot

We have exciting plans for the future of FitBot. Our next steps include deeply developing the app by integrating a regular chatbot system focused on fitness-related conversations. We aim to enhance the result page with improved visualization and interactivity, making the feedback more engaging and user-friendly.

Furthermore, we want to expand the application to cover other sports and activities, including medical rehabilitation. We also plan to incorporate more tailored training programs and guidance for users of different skill levels, ensuring that everyone, from beginners to advanced athletes, can benefit from FitBot.

Built With

Share this project:

Updates