ShadowLift is a production-ready iOS fitness tracking app built with 100% native Apple technologies. This sophisticated, performance-optimized workout logging and planning app delivers a complete training experience with AI-powered insights, HealthKit integration, and advanced analyticsโall with zero external dependencies.
๐ Currently in TestFlight Beta - Real users, real workouts, real results.
-
Custom Workout Splits โ Create unlimited workout routines (Push/Pull/Legs, Upper/Lower, etc.)
-
Exercise Tracking โ Detailed set/rep/weight logging with automatic progression tracking
-
10 Muscle Groups โ Chest, Back, Biceps, Triceps, Shoulders, Quads, Hamstrings, Calves, Glutes, Abs
-
Multiple Set Types โ Warm-up, Failure, Rest-Pause, Drop Sets, Bodyweight
-
Auto Day Progression โ Automatically advances through your split based on calendar
-
Workout Timer โ Automatic workout duration tracking
-
Workout Calendar โ Visual history with date-based workout retrieval
-
Complete History โ Access all past workouts with detailed logs
-
Progress Tracking โ See your training patterns and consistency over time
- Offline First โ Full functionality without internet connection
- CloudKit Sync โ Cross-device sync with intelligent network monitoring
- Performance Optimized โ No "gym lag" - tested under real gym conditions (60+ min sessions)
- 5-Second Timeout โ CloudKit operations never block UI
-
Bidirectional Weight Sync โ Read and write body weight to Apple Health
-
BMI Tracking โ Auto-calculated with visual gauge display
-
Height Tracking โ Syncs with HealthKit
-
Workout Export โ Writes workout sessions to Apple Health
-
Weight Charts โ Historical weight visualization
-
On-Device AI Analysis โ Uses Apple's FoundationModels (100% private)
-
Performance Trends โ Strength progress and volume analysis
-
Muscle Balance Detection โ Identifies training imbalances
-
Personalized Recommendations โ AI-driven workout suggestions
- Automatic PR Detection โ Tracks 1RM, 5RM, 10RM, and total volume PRs
- Historical Comparison โ See how you stack up against previous workouts
- PR Notifications โ Get notified when you hit a new personal record
- Photo Timeline โ Track visual progress with pose guidance
- Before/After Comparisons โ Swipe to compare photos
- Body Part Categorization โ Front, Back, Side, Full Body, Custom
- CloudKit Sync โ Photos sync across all your devices
- Push/Pull/Legs (PPL) โ Classic 6-day split
- PHAT โ Power Hypertrophy Adaptive Training
- Upper/Lower Split โ 4-day training program
- Arnold Split โ Classic bodybuilding routine
- Full Body โ 3-day full body routine
-
Current Streak Tracking โ Days in a row with workouts
-
Longest Streak Record โ Track your personal best
-
Rest Day Logic โ Configurable rest days per week (streak-safe)
-
Weekly Pattern Charts โ Visualize training consistency
-
Streak Predictions โ See projected milestones
-
5 Accent Colors โ Blue, Green, Purple, Pink, Orange
-
Matching App Icons โ Themed icons for each color
-
Dark Mode Support โ Beautiful in light and dark themes
- โ Unlimited Workouts
- โ Custom Splits
- โ Exercise Tracking
- โ Calendar History
- โ HealthKit Integration
- โ CloudKit Sync
- โ BMI Calculator
- โ Muscle Group Charts
- โ
Import/Export Splits (
.shadowliftsplitfiles)
- Language: Swift 5.9+
- Framework: 100% SwiftUI (no UIKit)
- Storage: SwiftData for persistent data
- Authentication: Apple Sign In
- AI: FoundationModels (iOS 26+, on-device)
- Health: HealthKit
- Sync: CloudKit with intelligent network monitoring
- Photos: PhotosUI, PhotoKit, AVFoundation
- Architecture: MVVM + ObservableObject
- Target: iOS 26.0+
- โ No CocoaPods
- โ No Swift Package Manager packages
- โ Pure Apple frameworks only
@Model class Exercise: ObservableObject, Codable {
@Attribute(.unique) var id: UUID
var name: String
var sets: [Set]? // Nested SwiftData model
var repGoal: String // "8-12", "5x5", "AMRAP"
var muscleGroup: String
var exerciseOrder: Int
var done: Bool
var completedAt: Date?
var createdAt: Date
var startTime: String
var endTime: String
}@Model class Set {
var weight: Double // kg or lbs
var reps: Int
var failure: Bool // Trained to failure
var warmUp: Bool // Warm-up set
var restPause: Bool // Rest-pause set
var dropSet: Bool // Drop set
var bodyWeight: Bool // Bodyweight exercise
var time: String
var note: String
}- Split: Workout routine with multiple days
- Day: Single workout day with exercises
- DayStorage: Calendar-indexed completed workouts
- UserProfile: User data, streaks, stats
- ProgressPhoto: Progress photo tracking
- PersonalRecord: PR tracking data
- SplitTemplate: Pre-built workout programs
- ~20,748 lines of Swift code
- 95 Swift files
- 14 SwiftData models
- 4 managers (User, Appearance, Photo, PR)
- 23 settings views
- 22 workout views
- Comprehensive test coverage
ShadowLift/
โโโ GymlyApp.swift # App entry point
โโโ ToolBar.swift # Main TabView navigation
โโโ Config.swift # Global app state singleton
โโโ Models/ # SwiftData models (14 files)
โ โโโ Exercise.swift
โ โโโ Day.swift
โ โโโ Split.swift
โ โโโ DayStorage.swift
โ โโโ UserProfile.swift
โ โโโ ProgressPhoto.swift
โ โโโ PersonalRecord.swift
โโโ Logic/ # Business logic
โ โโโ WorkoutViewModel.swift # Central coordinator (41,290 lines)
โ โโโ iCloudSyncManager.swift
โโโ Workout/ # Workout views (22 files)
โ โโโ TodayWorkoutView.swift
โ โโโ ExerciseDetailView.swift
โ โโโ SplitsView.swift
โ โโโ SplitTemplatesView.swift
โ โโโ ProgressPhotoTimelineView.swift
โโโ Calendar/ # Calendar views (3 files)
โ โโโ CalendarView.swift
โ โโโ CalendarDayView.swift
โ โโโ CalendarExerciseView.swift
โโโ Settings/ # Settings views (23 files)
โ โโโ NewSettingsView.swift
โ โโโ ProfileView.swift
โ โโโ HealthKitManager.swift
โ โโโ PremiumSubscriptionView.swift
โ โโโ StreakDetailView.swift
โ โโโ AISummary/ # AI features (5 files)
โโโ CloudKit/ # CloudKit sync (2 files)
โ โโโ CloudKitManager.swift
โ โโโ CloudKitSyncStatus.swift
โโโ Managers/ # Manager classes (4 files)
โ โโโ UserProfileManager.swift
โ โโโ AppearanceManager.swift
โ โโโ PhotoManager.swift
โ โโโ PRManager.swift
โโโ Cells/ # Reusable UI components (11 files)
- iOS 26.0+
- Xcode 15.0+
- Swift 5.9+
git clone https://github.com/rektoooooo/shadowlift.git
cd shadowlift
open ShadowLift.xcodeprojThe app requires these permissions in Info.plist:
<key>NSHealthShareUsageDescription</key>
<string>ShadowLift needs access to read your health data to sync workout and body metrics</string>
<key>NSHealthUpdateUsageDescription</key>
<string>ShadowLift needs access to write workout data to your health records</string>
<key>NSCameraUsageDescription</key>
<string>ShadowLift needs camera access to take progress photos</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>ShadowLift needs photo library access to save progress photos</string>- Bundle ID:
com.icservis.GymlyFitness - App Name: ShadowLift
- CloudKit Container:
iCloud.com.gymly.app - File Type UTI:
com.shadowlift.split - File Extension:
.shadowliftsplit
- SwiftData: Exercise data, workout history, splits, photos
- UserDefaults: User preferences via Config singleton
- CloudKit: Cross-device sync (optional)
- HealthKit: Health data integration (optional)
The app was battle-tested and optimized for real gym conditions:
- โ "Gym Lag" Fix โ Eliminated UI blocking during poor cellular connections
- โ Network Quality Monitoring โ Only syncs on good connections
- โ 5-Second CloudKit Timeout โ Prevents network from blocking UI
- โ Workout Mode Detection โ Disables auto-sync during active workouts
- โ Cached Computed Properties โ Prevents unnecessary recomputation
- โ Memory Leak Fixes โ Proper observer cleanup
- Real Gym Conditions โ Tests simulate 60+ minute sessions with poor cellular
- Performance Targets โ <20ms per operation, no operation >100ms
- Memory Stability โ No leaks during extended use
- Network Resilience โ Tested with network throttling
GymlyTests/
โโโ WorkoutPerformanceTests.swift # Unit performance tests
โโโ WorkoutFlowPerformanceTests.swift # Extended session simulation
โโโ NetworkPerformanceTests.swift # CloudKit performance
GymlyUITests/
โโโ GymWorkflowTests.swift # Full UI automation
Split files use JSON-based .shadowliftsplit format:
{
"id": "uuid-string",
"name": "Push Pull Legs",
"days": [
{
"id": "uuid-string",
"name": "Push",
"dayOfSplit": 1,
"exercises": [
{
"id": "uuid-string",
"name": "Bench Press",
"sets": [...],
"muscleGroup": "Chest",
"repGoal": "8-12"
}
]
}
],
"isActive": false,
"startDate": "2024-01-01T00:00:00Z"
}- Muscle Group Radar Charts โ Visualize training balance across 10 muscle groups
- Weight Progression Graphs โ Track body weight changes over time
- BMI Monitoring โ Visual gauge with health indicators
- Workout Frequency โ See training consistency patterns
- Volume Tracking โ Monitor total training volume
For TestFlight beta access, contact: support@shadowlift.app
- โ Active TestFlight beta
- โ Real users in production
- โ Performance optimized for gym conditions
- โ iOS 26+ ready with AI features
- ๐ง Support: support@shadowlift.app
- ๐ง General: hello@shadowlift.app
- ๐ Privacy: privacy@shadowlift.app
- ๐ฌ Discord: rektoooooo
- ๐ง Developer: sebastian.kucera@icloud.com
- ๐ธ Instagram: @seb.kuc
- โ Complete Rebrand โ Gymly โ ShadowLift
- โ Advanced Streak Analytics โ Predictions, weekly patterns, detailed insights
- โ PR Tracking System โ Automatic personal record detection
- โ Legal Documentation โ Privacy Policy, Terms, FAQ, Support
- โ Performance Fixes โ Eliminated "gym lag" with CloudKit optimization
- โ Premium UI โ Modernized weight tracking and streak views
- โ App Icon System โ 5 themed icons matching accent colors
- โฐ Rest Timer โ Built-in rest timer between sets
- โ Apple Watch App โ Companion watch application
- ๐ Exercise Database โ Expanded library with video instructions
- ๐ Localization โ Multi-language support
- โฟ Accessibility โ Full VoiceOver and accessibility improvements
- ๐ Achievements โ Gamification and milestone tracking
- ๐ Widget Support โ Home screen widgets for quick access
- ๐ Advanced Analytics โ More detailed progress insights
- ๐ Enhanced Sync โ Faster, more reliable CloudKit operations
- ๐จ More Themes โ Additional color schemes and icons
- Zero external dependencies โ Pure native Apple stack
- Performance-first โ Tested and optimized for real gym conditions
- Privacy-focused โ On-device AI, optional cloud sync
- Production-ready โ ~20,748 lines of battle-tested code
- Clean MVVM separation with SwiftUI
- Reactive data flow with Combine
- Modern async/await concurrency
- Intelligent CloudKit sync with network awareness
- SwiftData for modern persistence
- On-device AI workout summaries (iOS 26+)
- Network-aware CloudKit sync (prevents gym lag!)
- Progress photo tracking with pose guidance
- Streak system with intelligent rest day logic
- Pre-built premium split templates
- Muscle group radar chart analytics
- HealthKit bidirectional sync
ยฉ 2024 ShadowLift. All rights reserved.
This is proprietary software developed by Sebastiรกn Kuฤera.
Built with โค๏ธ by Sebastiรกn Kuฤera
Making fitness tracking simple, powerful, and beautiful.

