I better get the bad news out of the way. If you think ChatGPT can write you an iPhone app with in-app purchases that will make you a million dollars, you’re out of luck.
I’m preempting this expectation because every time I talk about how to build products, there are a few folks out there who either (a) want me to write them a million-dollar app, (b) want me to show them the one class or book that will teach them how to write a million-dollar app, (c) share with them the one secret tool or program that millionaire programmers all hide from the regular folk, or (d) introduce them to my programmer buddies, because surely one of them will write a million-dollar app for a stranger on spec.
The software business doesn’t work that way. Software is very big and complicated. Many apps rely on connections to vast networks of other resources that all need to be integrated together. Essentially, many apps are merely front-ends to enormous computing infrastructures that do their work behind the scenes. Other apps, games for example, take teams of people with a wide range of skills, all working in sync, usually for years, to turn out an app.
How ChatGPT can help you create an app
Now, I do believe ChatGPT can help you with creating an app. But it’s not going to do most of the work. That’s up to you and your team. But it may be able to save you some time and reduce a lot of effort. And that’s a win, all on its own.
So with that, let’s look at how ChatGPT might help you create an app.
Don’t limit yourself to ChatGPT to do your research here. Certainly involve it, asking questions like “are there iPhone apps that count the days until retirement?”
But keep in mind that ChatGPT’s data ends in 2021, so if you want to, say, produce an app that helps write ChatGPT prompts, ChatGPT wouldn’t know what’s in the app store — but Google’s Bard might. When I asked ChatGPT, it responded “there are no specific iPhone apps that are designed specifically for this purpose,” yet Bard responded, “There are a few iPhone apps that can help you create ChatGPT prompts,” and then went on to list the apps.
But there’s a lot more to planning your app than just basic market research. You’ll certainly want to plan out functionality and features, and then craft a user interface mockup. Continuing with the idea of building an app that helps write ChatGPT prompts, you could ask:
I want to build an iPhone app to help write ChatGPT prompts. What should the major and minor features be in such an app?
I recommend you type this into ChatGPT, because the answer it gave was surprisingly complete and useful. It shows how ChatGPT could actually be useful in creating an app. Next up is the user interface. While ChatGPT can’t draw out a wireframe (yet), you can ask ChatGPT to guide you with regard to creating its main screens.
Can you describe the screens and user interface elements this app should have?
Again, I recommend you run this prompt, because the AI tool’s answers were surprisingly well thought out.
Once you have your app idea and planned out some of the elements of the app, you’ll need to think about the development and deployment. You might try a prompt like this:
I want to build this app. What do I need to do in order to begin development and prepare for deployment?
I found the answer to be far too general, but probably helpful for a newbie exploring the process. Next I tried:
Help me set up and configure the Xcode development environment to write this app
This got me closer but was still too general. I went one layer deeper:
Help me choose a template and configure the Xcode settings for my project. Also, how should I configure Interface Builder?
That actually helped quite a bit. Keep digging in and asking questions, keep adding elements to your project, and feel free to ask ChatGTP along the way. But don’t forget that there is a wealth of help for app development outside the new world of AI. Don’t be afraid to use old-school web searches and dig around for examples and guides. This is a big project and you’ll need to use all the resources available.
In terms of scope, think of an app as a book or set of books (all the way up to an entire library). Think of a function, method, or subroutine (different terms for what is essentially a small functional unit of code) as a paragraph or a small article, maybe a chapter in a book. ChatGPT can help you at the paragraph level. It can help you structure your chapter. But it has no idea how to handle the entire book.
But that doesn’t mean it can’t be a big help. Earlier, I showed you how it might be used to help define user interface elements. You can use ChatGPT to give you specific instructions to put them together. For example:
Explain how to set up outlets and actions to initiate a search for a prompt in an existing set of saved prompts.
That asks the AI to explain how to set up one function in the user interface. You could repeat that over and over with different elements of your user interface. You can also ask it to write a specific function or set up data elements. Let’s create a storage mechanism for saved prompts. Here are two you could use one after the other:
Help me configure a storage mechanism for saved prompts
Walk me through using Core Data to save prompts for later access
The first recommended three storage mechanisms, and I decided to ask it to help with the second, using Core Data. Here, it even wrote some basic code that helps get started with that data storage mechanism.
First, it helped to set up the storage mechanism itself:
Then it gave an example of how to save a prompt. You can use these bits of code as a starting point, and then add your own code on top of it. But with ChatGPT’s help, you’ve got a good starting point.
It also showed how to retrieve a prompt. Here’s where you’d get the data back, but also format it and present it using your own user interface style.
I’m not going to go into more prompts for generating code, but you should get the idea by now. Use ChatGPT to write small, very well-defined bits of code and give you guidance. Think of it as a very talented junior developer who understands the code, but doesn’t really see the big picture.
Finally, don’t expect all of ChatGPT’s code to work. As I discussed previously, sometimes the AI’s code is perfect and other times it’s a complete fail. Kind of like code written by us humans, in fact.
To get started with that, you might want to issue a prompt like this:
Walk me through the steps necessary to deploy my app
When I asked ChatGPT, it gave me these six steps, along with a short paragraph description summarizing the steps:
- Register for an Apple Developer account.
- Configure your app’s settings.
- Prepare your app for distribution.
- Submit your app to the App Store.
- Wait for app review.
- Release your app.
Here’s another good place you can get more value from ChatGPT. You can take each of those steps and ask for more detailed instructions. For example:
Tell me exactly how to configure my app’s settings for deployment
Tell me exactly how to submit my app to the App Store
Keep drilling down. If there’s a step that ChatGPT glosses over, ask it for clarification. Think of it as if you’re in a court and a witness gives an incomplete answer. Keep digging, asking more and more pointed questions, until you get what you want.
Also: How does ChatGPT work?
Now, if you’re very, very lucky, you’ve positioned your app as unique from all other apps, have built up a customer base, are raking in the big bucks, and are beginning to think about what model Ferrari to buy, as well as what your next app should be. More likely, though, you’ll be supporting customers, fixing bugs, adding features, and trying out new marketing approaches.
No matter what, if you’ve made it this far, congratulations. Back in the day, I wrote 40 silly little iPhone apps, and ChatGPT would have definitely been a huge help. Just think of it as a tool like all your other tools, not as the only tool, and you’ll be fine.
Is it better to make an iPhone app or an Android app?
Both are huge markets. If your app is successful, you’ll probably want to deploy it to both platforms. Depending on what you want your app to do, it may or may not be more suited to one platform than another. For example, one of my favorite Android apps is Tasker, which lets you customize a lot more of the Android experience than Apple’s rough equivalent (Shortcuts) lets you do on iOS. If you were building a Tasker-like app, you’d probably focus on Android.
Overall, pick the platform you feel most comfortable with and build your app there. Then move it to the other environment.
How can I make sure my app is visible in search results?
If you’re talking about search results in the app store, you’re going to do a mix of keyword testing and graphics. First, make sure you have a compelling icon and include enough screenshots and videos. Don’t leave those out. Then, it’s all about the SEO. You’re going to need to find the right keywords that make your app stand out. There are many tools for doing just that, and you can ask ChatGPT what some of them are, and for some help.
How long does it take to build an app?
Short answer: anywhere from a week to three years. Longer answer: It all depends. How big is your app? What is it trying to accomplish? How experienced are you and your team? When I built my 40 apps (most of which were very similar to each other), the first one took almost a month, and the others took a day or so each — not counting the 10 or so days it took for Apple to approve each one.
But other apps can take years. An app to save and recall ChatGPT prompts is way different from, say, the Facebook app. If you’re trying to build a Facebook, an Instacart, an Uber, or anything else big, you’ve got a long road ahead. But if you have a fun idea, expect the process to take somewhere between a few months to a year.
You can follow my day-to-day project updates on social media. Be sure to follow me on Twitter at @DavidGewirtz, on Facebook at Facebook.com/DavidGewirtz, on Instagram at Instagram.com/DavidGewirtz, and on YouTube at YouTube.com/DavidGewirtzTV.