Inspiration
Traditional workout apps often feel like data-entry tools: you log sets, view numbers, and leave. GymBro was built to make training feel more engaging, adaptive, and accountable.
The app combines structured workout logging with gamification and social accountability. Instead of progress being hidden inside charts, users can see the effect of their consistency through avatar health and weekly progression. Completing workouts, improving performance, and reaching goals strengthen the avatar, while missed sessions create a visible consequence. This creates a clearer connection between training habits and progress.
GymBro also makes consistency social. Friends can view each other’s avatar health, weekly session progress, and shared streaks. A shared streak only grows when both people complete their planned sessions for the week, encouraging accountability without turning training into a competition.
Finally, its weekly AI Analysis analyses verified workout history, identifies meaningful patterns in performance and training balance, and provides practical suggestions for what to maintain, improve, or focus on next. The goal is to help users train with more intention by turning raw workout data into useful, personalised insight.
What it does
GymBro is a full-stack workout platform where users can:
- Log workout sessions and track sets, reps, and weights
- Create reusable training templates and reuse them with one tap
- Organize workouts by category (push, pull, legs, core, cardio, upper, lower, full body)
- Set weekly and exercise-specific goals in Goal Settings
- View weekly analytics and progression trends
- Add friends with a request/accept flow
- Track social consistency with a shared streak view
- HP-based avatar health system (0-100 HP, weekly reset to 0) that adapts to user's progress and consistency
- View weekly avatar snapshots on the calendar to see historical consistency
How we built it
We built GymBro using Next.js App Router and TypeScript, with Supabase for authentication, storage, and row-level security policies. Core implementation areas included:
- API routes for templates, workout sessions, goals, and social actions
- Shared validation with Zod for safer request handling
- Reusable React components for templates, goals modal, social panel, and calendar cards
- Supabase migrations for friend requests, social visibility, goal items, and avatar snapshots
- HP gamification logic that calculates weekly progress from consistency, overload, and goal completion
Challenges we ran into
- Resolving merge conflicts across fast-moving files during feature expansion
- Preventing hydration mismatch issues from locale-dependent date formatting
- Handling schema evolution cleanly (e.g., removing duration fields)
- Designing symmetric friend visibility and acceptance logic with correct RLS behavior
- Keeping social and gamification data synchronized between accounts in real time
Accomplishments that we're proud of
- Delivered end-to-end templated workouts with edit and one-tap session replication
- Built a functional social system with friend requests, acceptance, and removal behavior
- Defined clear weekly HP model tied to training habits
- Added multi-goal support (sessions + exercise goals) through a user-friendly modal flow
- Created weekly avatar history so users can visually track consistency over time
What we learned
- Product features become much stronger when UX flow and backend data rules are designed together
- Strong typing + validation reduces regressions during rapid iteration
- Social features require careful edge-case thinking (pending, accepted, removed, stale requests)
- Weekly reset systems are easier to understand when states are explicit and snapshot-based
- Small UI details (labels, spacing, hierarchy) greatly affect usability and motivation
What's next for GymBro
- Smarter template recommendations based on workout history
- Richer goal tracking (deadlines, milestones, completion rates)
- Notifications for friend requests, streak risk, and goal progress
- Better onboarding and empty states for first-time users
- Optional AI-assisted workout suggestions based on user goals and recent performance
Built With
- amazon-web-services
- next.js
- openai
- react
- supabase
- typescript
- vercel
- vite
Log in or sign up for Devpost to join the conversation.