Magic 8 Ball

Magic 8 Ball

Magic 8 Ball is a simple and fun iOS app that lets users ask yes/no questions and receive randomized answers—just like the classic toy. It leverages an external API to fetch responses and features a fully programmatic UIKit interface for a smooth, modern experience.

Magic 8 Ball is a simple and fun iOS app that lets users ask yes/no questions and receive randomized answers—just like the classic toy. It leverages an external API to fetch responses and features a fully programmatic UIKit interface for a smooth, modern experience.

Magic 8 Ball is a modern take on the classic decision-making toy, built as an iOS app using UIKit and Swift. Users can ask a yes/no question, then tap or shake their device to receive a randomized answer pulled from a remote Magic 8 Ball API. The goal was to create a smooth and intuitive experience while incorporating a real-world networking component to make the responses feel dynamic and unpredictable.

One of the key aspects of this project is that the entire UI is built programmatically, without using Storyboards or Interface Builder. This approach provides more flexibility and control, especially as the app scales or evolves. From layout constraints to animations, everything is written in code to allow full transparency into how the interface is constructed and behaves.

To maintain a clean and organized architecture, I pulled all UI setup, styling, and layout code out of the main view controller and into dedicated configuration files and helper methods. This keeps the ViewController focused solely on its core responsibilities: managing user interaction and handling API responses. As a result, the view controller remains lean, readable, and easy to maintain—an approach I follow across all my UIKit projects to promote modularity and separation of concerns.

Let's talk

Time for me:

Email:

RandyVarela5@gmail.com

Phone:

Reach out:

Designed in

By

© Copyright 2024

Let's talk

Time for me:

Email:

RandyVarela5@gmail.com

Phone:

Reach out:

Designed in

By

© Copyright 2024

Let's talk

Time for me:

Email:

RandyVarela5@gmail.com

Phone:

Reach out:

Designed in

By

© Copyright 2024