Implement BetterFit iOS strength training coach core framework #1
+3,310
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Swift Package Manager framework implementing an iOS/watchOS strength training coach with auto-tracking, AI adaptation, and social features.
Architecture
Models (6 files)
Exercise,Workout,WorkoutTemplate- Core workout data structuresTrainingPlanwithTrainingGoalenum (strength, hypertrophy, endurance, powerlifting, general fitness, weight loss)BodyMapRecovery- Time-based recovery tracking across 7 body regions with 4 statesUserProfile,Challenge,Streak- Social features with 4 challenge goal typesServices (3 files)
AutoTrackingService- Watch accelerometer/gyroscope rep detection via motion magnitude thresholdsAIAdaptationService- Analyzes completion rate, progressive overload, plateau detectionEquipmentImageService- 3D/AI equipment image library with async generation supportFeatures (7 managers)
PlanManager- Multi-week training plan managementTemplateManager- Template CRUD, tag/name search, recent templatesEquipmentSwapManager- Alternative exercise suggestions based on available equipmentBodyMapManager- Recovery recommendations, overall recovery percentageSocialManager- Streak tracking, challenge leaderboardsSmartNotificationManager- Optimal workout time detection, overtraining alertsUsage
Recovery System Behavior
When multiple muscle groups map to the same body region (e.g., quads + glutes → legs), recovery status compounds per workout:
recovered → fatigued → sore. This prevents over-training specific regions.Test Coverage
30 tests across models, services, features, and integration flows. Swift Package Manager project targeting iOS 17+, watchOS 10+.
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.