Inspiration

It started with me and my friend sending pictures on WhatsApp to prove we were going to the gym. We both wanted to make a real physical change, but we kept struggling with committing and showing up. We'd have a good week, then miss a few days, then feel bad and start over again.

The pictures changed that. It sounds small, but knowing my friend was waiting for my photo made me go on days I didn't want to. And when he sent his, it pushed me too. We weren't doing it alone anymore.

That's when I realized the hardest part of the gym isn't the workout, it's showing up. And people show up more when someone is counting on them. I wanted to give everyone what my friend and I had in that chat, so I built GymGoat.

What it does

GymGoat is an app where your friends can actually see if you went to the gym.You pick how many days a week you want to go, and every week you hit it, your streak grows.

When you get to the gym, you take a photo with the front and back camera at the same time, and the app uses your location to make sure you're really there. Plus you have to stay a minimum amount of time in the location because if not the workout is cancelled.

Your friends see your check-ins, react to them, and you compete on a leaderboard. And there's Greg, a goat who celebrates with you when you show up and lets you know when you're slipping.

How we built it

I used React Native and Expo for the app, Supabase for the backend, and RevenueCat for subscriptions.

Challenges we ran into

I built most of GymGoat in Venezuela, where the electricity would go off every day for 6 hours.

I also didn't have a MacBook, which made building an iOS app really hard. The wifi was so bad, and every time I wanted to test something I had to compile on Expo and wait for like 20 minutes every time. A small change could take me the whole afternoon.

Accomplishments that we're proud of

GymGoat is live on the App Store, and many of my friends are using it right now. They've proven that it really helps you stay consistent. People who used to go once in a while are now showing up week after week.

What makes me the proudest is seeing a community of people inspired to be more consistent about their health and fitness journey.

What we learned

I learned that consistency isn't about motivation, it's about not doing it alone. When your friends can see if you went or not, you go.

I also learned that you don't need perfect conditions to build something that matters. I didn't have all the tools available, stable internet or even electricity all day, and I still shipped the app.

What's next for GymGoat

I want to make the UI more polished with more animations, and add more gamification and a reward system so showing up feels even better.

Built With

  • claude
  • deno
  • eas
  • expo-camera
  • expo-location
  • expo-notifications
  • expo-router
  • expo.io
  • heroui
  • postgresql
  • posthog
  • react-native
  • react-native-reanimated
  • revenuecat
  • sentry
  • sign-in-with-apple
  • supabase
  • tailwindcss
  • tanstack-query
  • typescript
  • zustand
Share this project:

Updates

Submission history