Card Workout App

The Card Workout App is an iOS application designed to help users incorporate fun and randomness into their workout routines. The app uses a standard deck of playing cards to determine exercises and repetitions for a full-body workout.

Watch the App in Action

Check out this video to see the CardWorkout in action:

Watch the App in Action


  • Card Selection: The app randomly selects cards from a standard deck to determine the exercise to be performed.

  • Exercise Types: The app includes various exercise types such as push-ups, squats, jumping jacks, and planks.

  • Repetitions and Duration: Each card drawn specifies the number of repetitions or the duration of the exercise.

  • User-Friendly Interface: The app provides a simple and intuitive interface for users to follow their workout routines.

Project Structure

Here’s an overview of the project’s key components:

  • CardSelectionVC.swift: This view controller manages the main screen of the app, where cards are randomly drawn to determine exercises and repetitions/duration.

  • Card.swift: The CardDeck struct defines an array of UIImage objects representing playing cards with exercise details.

Technologies Used

  • Swift: The entire project is developed using the Swift programming language, taking advantage of its modern features and syntax.

  • UIKit Framework: The app’s user interface is constructed using the UIKit framework, which provides essential components for creating interactive and visually appealing iOS applications.

How to Run the App

To run the Card Workout App on your local development environment, follow these steps:

  1. Clone this repository to your local machine using the following command:

git clone

  1. Open the project in Xcode.

  2. Build and run the app on an iOS simulator or a physical iOS device.

  3. Follow the on-screen instructions to perform workout exercises based on the cards drawn.

Educational Insights

The implementation of the Card Workout App project offers educational insights into various aspects of iOS app development, including:

  1. Swift Programming: The project provides practical experience in using Swift for app development, including working with arrays, structs, and UI components.

  2. UIKit Interface: It showcases how to create a user-friendly interface using UIKit components such as buttons, labels, and image views.

  3. Randomization: The app’s card selection logic demonstrates how to generate random elements and use them to determine workout routines dynamically.

  4. User Interaction: The app’s user interface and touch events illustrate how to create engaging and interactive user experiences.

  5. Workout Planning: The app introduces the concept of using playing cards to create randomized workout plans, offering a unique approach to fitness.


Contributions to this project are welcome. Feel free to submit pull requests, report issues, or suggest improvements to enhance the Card Workout App.

Get ready for a fun and spontaneous workout experience! ?️‍♂️?


View Github