Project Story: Traces
About the Project
Traces is a mobile application designed to make fitness fun and competitive. As students, we were motivated to emphasize the importance of movement and physical activity in our daily lives, especially with the rise of sedentary lifestyles. While fitness trackers like step counters have been around for a while, we wanted to add an extra layer of engagement and challenge to the process.
The inspiration for this project came from our desire to make fitness more enjoyable by gamifying the experience. Instead of simply counting steps, we decided to create a unique feature that allows users to participate in daily challenges where they trace specific shapes on a map by walking or running.
Users can join a party of friends and participate in daily challenges. These challenges prompt users to walk in certain patterns to draw shapes, which they must trace as accurately as possible within a set time. The app tracks their route in real-time and uses AI to evaluate how closely their route matches the requested shape. Points are awarded based on how accurately they trace the shape, adding a competitive edge to the activity.
The concept combines fitness, fun, and social interaction, making it more motivating for individuals to stay active while being challenged by friends.
What We Learned
Through the development of Traces, we learned several new things:
Real-Time GPS Tracking: We had to dive into GPS APIs to track users' real-time movements accurately. We explored how to plot routes on a map, handle GPS data, and manage location updates.
AI Integration: A key challenge was integrating AI to analyze the route drawn by users. This involved analyzing geographic coordinates, checking how close they are to the intended shape, and awarding points based on accuracy.
App Design & User Experience: We focused on making the app intuitive and fun to use. The user interface needed to be simple, yet capable of handling real-time data and providing feedback on route accuracy.
Backend Development: While the AI checks route submissions, the app had to be designed in such a way that the data syncs across users, stores their routes, and maintains scores within a competitive system.
How We Built the Project
We used React Native to build the mobile application for both Android and iOS. The core features included:
Google Maps Integration: We utilized the Google Maps API to visualize the user's walking or running route on a map. The real-time tracking and route drawing were achieved through the Polyline feature in Google Maps.
GPS Tracking: The app uses native geolocation features to track users' movements as they walk or run. Each user’s movements are captured and plotted onto the map as they follow the challenge prompt.
AI Integration: The AI system compares the route taken by the user with the expected shape. This involved comparing the drawn path against predefined patterns and calculating the accuracy of the trace.
Challenge System: We created a daily challenge feature where users receive a prompt to draw specific shapes (e.g., a circle, stickman, or square) by walking or running. Each user has a set number of attempts to get it right.
Leaderboard and Points System: Points are awarded based on the accuracy of the drawn path. The leaderboard tracks how each user performs across multiple challenges, promoting friendly competition within the party.
Challenges We Faced
GPS Accuracy Issues: One of the major challenges was handling GPS accuracy, especially when tracking users indoors or in areas with weak GPS signals. We had to refine the GPS data collection to ignore inaccurate readings and ensure a smooth user experience.
Real-Time Data Handling: Managing real-time location updates while ensuring the app's responsiveness was tricky. We had to implement efficient data handling techniques to ensure the route updates smoothly without affecting the app’s performance.
AI Validation of Routes: Ensuring the AI could accurately determine if a user’s drawn route matched the requested shape was a complex task. We had to experiment with several methods of path comparison to make sure the evaluation was both accurate and quick.
UI/UX Design: Creating a clean and user-friendly interface was important, especially since the app involves real-time tracking and AI evaluation. The design had to be intuitive enough for users to engage with the challenges and view their progress effortlessly.
Running on Mobile Devices Without Localhost: One of the major issues we faced during development was running the app on our mobile devices without using localhost. It was difficult to set up the development environment and ensure smooth communication between the device and the local server. This required a significant amount of troubleshooting and adjustments in networking configurations.
Conclusion
Traces was a fun and challenging project that pushed us to explore various technologies, including GPS tracking, AI validation, and app development with React Native. It was an exciting opportunity to combine fitness, social interaction, and competitive gaming into one app. By gamifying fitness and adding a unique drawing challenge, we hope to inspire users to stay active while having fun with friends. The project helped us develop our problem-solving skills, especially when dealing with real-time data and integrating AI into a mobile app.
We look forward to continuing to improve Traces, making it more accurate, efficient, and enjoyable for users.
Log in or sign up for Devpost to join the conversation.