Comprehensive Fitness Application for WatchOS and iOS

William Kindlien

iOS Developer
Fullstack Engineer
Software Engineer
iOS
Swift
Xcode
This project, was a request from a client, it involves the creation of a comprehensive fitness application for WatchOS, designed to monitor and guide users through their workouts. The application connects seamlessly with its iOS counterpart, providing a holistic fitness experience.
Key Features:
Workout Monitoring: The WatchOS app allows users to monitor their workouts, either following a plan created in the iOS app or customizing their own. It includes a graph to track heart rate and a stopwatch for custom workouts. This feature was developed using SwiftUI and HealthKit, providing real-time updates and a user-friendly interface.
Data Transfer: Workout data, including heart rate zones and duration spent in each zone, is sent to the iOS app for further analysis. This was achieved using Watch Connectivity and Networking, ensuring seamless data transfer between the two applications.
Fallback Mechanism: A fallback mechanism was implemented to retain data in case of disconnection from the network or Watch Connectivity while sending the workout result. This mechanism uses local storage to save results and send them after the connection is reestablished.
Results Analysis: The iOS app provides detailed workout results, including reps, weights, and a summary of total sets. Results can be viewed in bar graph form or as detailed summaries. This feature was developed using Core Data and User Defaults, allowing for efficient data storage and retrieval.
Live Workout Tracking: If the iOS app is opened during a workout, it automatically detects and opens a live workout screen to track the ongoing workout. This feature was developed using URL Session and MVVM Architecture, providing a smooth and responsive user experience.
Haptic Feedback and Crown Input: To enhance the user experience, haptic feedback was implemented, and the watch crown was used as an input method. This allowed for a more interactive and engaging user experience.
Custom UI: Both the WatchOS and iOS apps feature custom styles for buttons, graphs, and screens, providing a unique user experience. This was achieved using SwiftUI, showcasing my ability to create custom UI elements.
Watch App Preview
Watch App Preview
Technologies Used:
SwiftUI
HealthKit
Watch Connectivity
Networking
Core Data
User Defaults
URLSession
Haptic Feedback
WatchKit
MVVM Architecture
Partner With William
View Services

More Projects by William