October 21st, 2025
The entire leaderboard system has been rebuilt with a new API architecture. You will see:
Better Performance: Infinite scroll pagination instead of loading everything at once
More Filter Options: Time periods (Today, Weekly, Monthly, All-Time) now work consistently across all features
exercise_completed event - New Fields AddedYour should update your integration to use these new field names (old ones still work but are marked for deprecation):
// New field names (use these going forward):
{
type: "exercise_completed",
data: { exercise_title: "Squats", // NEW (replaces exerciseTitle)
exercise_id: "squats_123", // NEW (replaces exerciseId)
total_reps: 20, // NEW (replaces totalRepeats)
total_duration: 60, // NEW (replaces totalCountdown)
average_accuracy: 0.85, // NEW (replaces averageAccuracy)
}challenge_completed event - Field Name Change{ type: "challenge_completed", repCount: 45, // CHANGED: now sends completed_reps_count (actual reps done) mistakes: 3 }workout_completed event - Improved Data{ type: "workout_completed", data: { workout: "Cardio Blast", // Now uses translated title (respects user's language) date: "2025-10-21T09:00:00Z" } }Calories are now calculated more accurately:
Timer-based exercises (like Plank): Calories based on time spent in perfect position × MET value
Rep-based exercises (like Squats): Calories calculated using a 5-second activity window per rep × MET value
Fallback: If MET data unavailable, uses the old calculation method
This means the calories field in exercise_completed events will be more accurate but may differ from previous versions.
The efficiency score calculation has been improved:
Rep-based exercises: Now compares against leaderboard top performer (if available)
Timer-based exercises: Accounts for mistakes (perfect time gets 100%, mistake time gets 50% weight)
Non-AI exercises: Simple time-based calculation (time spent / total time)
This affects the leaderboard rankings - users will see more fair and accurate scores.
Minimum accuracy threshold reduced from 70% to 50%
Better experience for beginners - they won't see artificially inflated scores
Your users will notice:
Faster Leaderboard Loading: Pagination with 20 entries per page
Sticky User Position: When viewing leaderboard, the current user's position stays highlighted and visible
Better Filtering: Time period filters work correctly across all features
Translated Content: Workout titles now appear in the user's selected language