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