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.
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 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.
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.
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.
Let’s see how the colors look in real life:
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.
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.
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.
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.
Let’s see how the colors look in real life:
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).
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:
The funny thing is that ChatGPT uses code formatting for its output. I assume it happens because of the word ‘script’ in my prompt.
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).
ChatGPT provided a class for the timer along with an initializer for this class and recommendations for its usage.
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.
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.
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:
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.
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.
When we copy&paste this code to Xcode project, the tool will generate a working layout.
- 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.