Inspiration
Evelyn challenged her friend to who can keep the longest exercise streak. They had trouble coming up with a metric to measure their progress and naturally looked for an app that fit their need. There wasn't one. Evelyn eventually came up with the idea of a proof-based exercise app that replaces the honor system with visual AI verification to eliminate fake logs.
What it does
It is a social-accountability exercise app where you can connect with your friends and keep each other motivated through your fitness journeys. The app uses AI computer vision to verify the users' workout and gamify the process through streaks and real-world stakes. Users can form collaborative or competitive squads where they can either work together towards a common goal or compete against each other to avoid a terrible punishment! Snaps you take of your workouts are uploaded to a home feed where you friends are able to view them.
How we built it
Frontend: We developed a cross-platform mobile app using React Native and Expo SDK 54, ensuring a seamless native experience on both iOS and Android with a single codebase. We utilized TypeScript for type safety and Expo Router for fluid navigation. AI Verification Engine: At the core of our app is a custom Python microservice built with FastAPI. This engine orchestrates a hybrid computer vision pipeline: * Object Detection: We fine-tuned YOLO26n and leveraged Roboflow models to detect specific gym equipment and verify human presence. * Scene Classification: We integrated Places365 (via PyTorch) to analyze background context, ensuring workouts occur in valid locations.
- Backend & Data: We chose Supabase as our backend-as-a-service to accelerate development. It provides us with a secure PostgreSQL **database and **Supabase Storage for hosting user-generated workout photos with public CDN access.
- Deployment & DevOps: During development, we used ngrok to securely tunnel our local AI server to the mobile app for real-time testing. All code is version-controlled via GitHub.
Challenges we ran into
- Making it work on expo app, there were issues with version compatibility and we initially settled for web-based demo.
- Mapping the object detection flow: we ultimately settled on from the frontend to the backend, to the Supabase storage bucket, back to the backend, then to the CV model.
- The lack of available datasets for gym equipment object detection.
Accomplishments that we're proud of
- Successfully wiring object detection model to frontend and backend.
What we learned
- To not be to ambitious and focus on the MVP.
- How to do repo management across team members more effectively.
- How to demo native apps through modern frameworks like Expo.
What's next for Social Exercise App
- More ways to verify your workout.
Built With
- expo-router
- expo.io
- fastapi
- react-native
- roboflow
- supabase
Log in or sign up for Devpost to join the conversation.