Is It Possible To Create an Entire Mobile App Using ChatGPT?

TL;DR: Yes, but it won’t be as simple as you might think

Mobile app development is one of the most complex areas in product design. To develop a mobile app, you need to have experience in many different domains. Not only do you need to consider the specifics of mobile interactions, but you should also be able to write Swift or Java code.

When ChatGPT became publicly available, many people were extremely impressed by its abilities and started to wonder whether this tool could replace designers and developers. Previously we’ve discussed how ChatGPT can be used for regular design tasks, but in this article, let’s use it to answer a more specific question.

Can ChatGPT build an entire iOS app?

In this article, we will try to use ChatGPT to create a meditation app for iOS. The article is also available in a video format.

Ideas for a meditation app

Once you have an idea of the app you want to build, you need to consider the experience you want to offer your users. What functionality should the app provide to its users?

Let’s see if ChatGPT can help us find the answer to this question.

Asking ChatGPT to describe a concept of a mediation app.

As you can see, ChatGPT described a very solid concept of a meditation app with many different exercises. You can you this list to create a product design roadmap. We will add a limited number of features in the first iteration of our product. We will build a simple, one-screen app that allows the user to set the timer and play music during the meditation session.

Information architecture

Information architecture is a cornerstone of product design. A navigation system that our app will use should be based on solid information architecture so that the first thing we need to do is to specify what screens our mobile will have.

Since we already have a clear idea about our future app, let’s ask ChatGPT to describe its information architecture.

Asking ChatGPT, “what is a good structure for a mediation app for iOS?”

ChatGPT shares a structure for the more complex and sophisticated product. It can be a good idea to keep this informaiton arehicture in mind when you add more features in the next versions of our product.

Color scheme

Colors play an essential role in a meditation app. Colors directly impact how we perceive products, so when it comes to a meditation app, we want to use colors that help users relax. Let’s ask ChatGPT what colors it can recommend for our product.

Asking ChatGPT to provide a color palette with hex colors that will contain brand color, as well as primary and secondary colors.

Let’s see how the colors look in real life:

Listing colors provided by the ChatGPT

As you can see, the color scheme is created primarily from neutral colors. This scheme is helpful, especially if you play with the opacity of individual colors.

Changing the opacity of the brand color in Figma.

Background music

Music is a core part of the meditation procedure. Well-selected music will put the user in the right mood and make them feel calm.

Let’s see if ChatGPT can write music for us.

Aksing ChatGPT to write music.

Unfortunately, ChatGPT is a text-to-text tool and cannot generate any media content. But it guides us to the services like Spotify or YouTube to search for such content and provides us with specific recommendations.

Fonts

Well-selected fonts can create a positive impression on app users. When it comes to a meditation app, I expect to see rounded fonts because they are easy for the human eye and create a more friendly visual appearance.

Let’s ask ChatGPT to recommend fonts for our app. When creating a product, I typically choose between two font pairs by comparing them side by side. So I will ask ChatGPT to provide two font pairs.

Ask ChatGPT to provide two font pairs for a meditation app.

Let’s see how the colors look in real life:

Two font pairs generated by ChatGPT.

Although ChatGPT provided solid arguments about font pairing, the final result doesn’t look very visually appealing. It doesn’t feel like the fonts work well with each other for this particular type of a product (mediation app), especially the first combination (Open Sans + Playfair Display).

Content

The meditation script is an integral part of the meditation session. If you want to maximize the effect of the exercise, you need to find the right words and read them in a calm manner and soothing tone so that they allow listener to relax and focus on each part of their body.

Let’s see what ChatGPT can offer:

Asking ChatGPT to write a meditation script. 

The funny thing is that ChatGPT uses code formatting for its output. I assume it happens because of the word ‘script’ in my prompt.

Timer

Once we have fonts, colors, and content, it’s time to create functional elements. And timer will be the first functional element in our list. A timer will help us to run the meditation session.

Let’s ask ChatGPT to write a code for the timer in Swift code (since we’re building an iOS app, we need to do it using Swift language).

Aksing ChatGPT to write a code for a timer. 

ChatGPT provided a class for the timer along with an initializer for this class and recommendations for its usage.

Sample for timer initializer and recommendations on how to use it provided by ChatGPT.

To check whether this code is functioning correctly, we need to create a playground in Apple Xcode. Once we copy & paste the code to the playground, Xcode will show some errors.

XCode shows error messages when use use a code generated by ChatGPT.

However, it’s relatively easy to fix them. All you need to do is to rename the class name from “Timer” to something else (Xcode shows errors because it thinks that we access the properties of the class we’ve created rather than the system class Timer; it happens because both classes have the same name Timer). I’ve renamed the class we created to “Timero” and successfully built the project. As you can see, the code that ChatGPT provided works fine after this quick fix.

Successful project build in Xcode using a modified version of a code provided by the ChatGPT.

Can ChatGPT create an entire app?

Now that we know that ChatGPT can help us create individual components for the app, we might wonder whether ChatGPT can write us an entire app from a single attempt.

Let’s ask ChatGPT about it:

Asking ChatGPT to write a meditation app for iOS.

As you can see, ChatGPT provided basic code and some instructions on how to use it. It’s hard to say whether the prompt I’ve provided wasn’t good enough or whether ChatGPT intentionally limits the output, but it’s clear that the tool cannot generate an entire app using a single prompt.

However, we can change how we interact with ChatGPT and ask the tool to provide detailed step-by-step instructions on building a Swift app.

Asking ChatGPT about instructions for building SwiftUI app.

Now that we know what steps to take, we can go step by step and ask ChatGPT to provide specific details for each step. For example, ask ChatGPT to generate a basic layout for our app.

Ask ChatGPT to generate a layout for the iOS app. 

When we copy&paste this code to Xcode project, the tool will generate a working layout.

A layout built by XCode using the code provided by ChatGPT.

Takeaways

  • ChatGPT cannot generate a source code for the entire app in one take, but it can provide a step by step instructions on how to build an app for a particular system, and individual steps can be used as prompts to ChatGPT.
  • The output that ChatGPT generates requires analysis from a human. No matter whether you generate a color scheme or a layout for the iOS app, most of the time, you will need to refine or modify the output that ChatGPT provides.
  • ChatGPT cannot generate media content. You cannot expect to create images or audio using this tool, but ChatGPT can help you generate prompts for tools like midjourney or Dalle-2 so that they can generate the right images for you.