Skip to main content

MoChallenges

"The Competitor" — "I add stakes to your training"

Status: ❌ Future

MoChallenges will provide weekly and monthly fitness challenges to keep users motivated.


Purpose​

  • Create competition and motivation
  • Set collective goals
  • Build community engagement
  • Provide variety in training focus
  • Award achievement badges

Challenge Types​

Volume Challenges​

ChallengeGoalDuration
Push WeekMost push volume1 week
Pull MonthMost pull volume1 month
Leg Day HeroesMost leg volume1 week
Volume KingTotal volume1 month

Consistency Challenges​

ChallengeGoalDuration
Perfect Week5+ sessions1 week
Streak BuilderLongest streak1 month
Early Bird6 AM workouts1 week
Recovery FocusedLog recovery daily1 week

Strength Challenges​

ChallengeGoalDuration
PR HuntMost PRs set1 month
Bench BattleHighest bench PR1 month
Squat ChallengeHighest squat PR1 month
1000 lb ClubCombined totalOngoing

Data Model​

interface Challenge {
id: string;
name: string;
description: string;
type: ChallengeType;

// Timing
startDate: Date;
endDate: Date;
duration: 'week' | 'month' | 'ongoing';

// Goal
metric: ChallengeMetric;
target: number | null;

// Rewards
badge: Badge | null;

// Participation
participantCount: number;
isActive: boolean;
}

interface ChallengeParticipation {
challengeId: string;
userId: string;
joinedAt: Date;
currentProgress: number;
rank: number;
isComplete: boolean;
}

type ChallengeType = 'volume' | 'consistency' | 'strength' | 'recovery';
type ChallengeMetric = 'total_volume' | 'sessions' | 'streak' | 'prs' | 'max_weight';

Challenge Flow​

1. Browse available challenges
2. Join challenge
3. Track progress automatically
4. View leaderboard
5. Complete and earn badge

Planned API Endpoints​

EndpointMethodDescription
/api/challengesGETList challenges
/api/challenges/:idGETGet challenge details
/api/challenges/:id/joinPOSTJoin challenge
/api/challenges/:id/leaderboardGETGet leaderboard

Leaderboard Display​

🏆 Push Week Challenge - Day 5/7

# User Volume Sessions
1 @strongguy 45,230 lbs 4
2 @fitfam 42,100 lbs 5
3 You 38,500 lbs 3
...
15 @newcomer 12,000 lbs 2

Your Progress: 38,500 / 50,000 lbs target

Implementation Tasks​

  • Design challenge system
  • Create challenge templates
  • Build auto-progress tracking
  • Implement leaderboard
  • Design challenge badges
  • Create challenge UI