How to use ChatGPT to create an app

4 months ago 31
BOOK THIS SPACE FOR AD
ARTICLE AD
OpenAI's ChatGPT answering a question about code
Bloomberg/Getty Images

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 the one secret tool or program that millionaire programmers all hide from the regular folks, or (d) introduce them to my programmer buddies, because surely one of them will write a million-dollar app for a stranger on spec.

Also: How to use ChatGPT: What you need to know

The software business doesn't work that way. Software is big and complicated. Many apps rely on connections to vast networks of other resources that must be integrated. 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

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. However, it may save you some time and reduce a lot of effort. And that's a win, all on its own.

Also: Okay, so ChatGPT just debugged my code. For real

So, let's look at how ChatGPT might help you create an app.

There are roughly two million iPhone apps and about 3.5 million Android apps. Finding a unique app offering is going to be difficult, but it's also probably not a good idea to make something that already has a ton of competitors.

Don't limit yourself to ChatGPT to do your research here. Certainly involve the bot by asking questions like: "Are there iPhone apps that count the days until retirement?" 

Also: How to use ChatGPT to write code

Remember that ChatGPT's training data ends in 2023, so if you want to produce an app that helps write ChatGPT prompts, ChatGPT originally didn't know what was in the app store. However, ChatGPT can now do web searches, to layer information on top of the knowledge it has in its training data. You may need to encourage it to search in your prompts for more current information.

But there's more to planning your app than just basic market research. You'll want to plan out functionality and features, and then craft a user interface mockup. For 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?

Try it for yourself -- the answer I got after typing this into ChatGPT was surprisingly complete, and could actually be useful in creating an app. 

Next up is the user interface. Earlier this year, I thought that perhaps DALL-E 3 inside ChatGPT, especially GPT-4o, might be able to generate some sample screens, but ChatGPT responded that it couldn't. That situation, however, has changed. I just gave it this prompt: 

I want to build an iPhone app to help write ChatGPT prompts. Can you draw me a sample user interface?

And I got back this sample display:

sample-ui
Screenshot by David Gewirtz/ZDNET

Obviously, the bot has problems with words (as most AI image generators do), but it's a fairly attractive interface and might give you some ideas on how to get started. But you can get more granular, and ask ChatGPT to help you design the structure of the UI:

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.

Also: I'm using ChatGPT to help me fix code faster, but at what cost?

Once you have your app idea and you've planned out some of the elements of the app, you'll need to think about 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 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 response helped quite a bit. Keep digging and asking questions, continue 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 available resources.

This is where the rubber meets the road -- or the code meets the development system. It's where you make your product. And it is here that ChatGPT can offer some very interesting -- but very specific -- help.

Let's, once again, be clear: we're not yet at the point where you can tell an AI tool to make an app for you. Apps are often hundreds of thousands (even millions) of lines of code, spread across hundreds or thousands of files. Today, ChatGPT doesn't handle that scope.

In terms of scope, think of an app as a book or set of books (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.

Also: I asked ChatGPT to write a WordPress plugin I needed. It did it in less than 5 minutes   

However, that doesn't mean the bot can't be a big help. Earlier, I showed you how it might help define user interface elements. You can use ChatGPT to give you specific instructions for putting 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 prompt asks the AI to explain how to set up one function in the user interface. You could repeat that over and over again 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 asked it to help with the second, using Core Data. Here, the bot even wrote some basic code to help you start that data storage mechanism.

Also: How ChatGPT can rewrite and improve your existing code

First, it helped to set up the storage mechanism itself:

Set up Core Data stack
Screenshot by David Gewirtz/ZDNET

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 code on top. But with ChatGPT's help, you've got a good starting point:

Saving prompts
Screenshot by David Gewirtz/ZDNET

ChatGPT also showed how to retrieve a prompt. Here's where you'd get the data back, but you can also format it and present it using your user interface style:

Retrieve prompts
Screenshot by David Gewirtz/ZDNET

Overall, the takeaway is that you can use ChatGPT to write small, very well-defined bits of code, and for guidance. Think of it as a very talented junior developer who understands the code, but doesn't 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. It's kind of like code written by us humans.

To get started, 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. Imagine you're in a courtroom during a trial and a witness gives an incomplete answer. Keep digging, asking more and more pointed questions, until you get what you want.

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.

Also: How does ChatGPT work?

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 been a huge help with them. Just think of the AI as a tool like all your other tools, not as the only tool, and you'll be fine.

FAQs

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 more of the Android experience than Apple's rough equivalent, Shortcuts, lets you do to iOS. If you were building a Tasker-like app, you'd probably focus on Android.

Also: The 5 best AI art generators

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'll need to do a mix of keyword testing and graphics. First, ensure you have a compelling icon and include enough screenshots and videos. Don't leave those out. Then, it's all about the SEO. You'll need to find the 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 ask for some help.

What programming languages can ChatGPT help me with?

Pretty much everything. I tested ChatGPT with a dozen top programming languages, and it didn't blink. Then I gave it another 10 relatively obscure or obsolete programming languages, and it still stepped up to the mark. I'm sure there are languages not in ChatGPT's library, but I doubt there's any common mobile development language it can't handle.

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.

Also: I asked ChatGPT to write a short Star Trek episode. It actually succeeded

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 between a few months and a year.


You can follow my day-to-day project updates on social media. Be sure to subscribe to my weekly update newsletter on Substack, and 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.

Read Entire Article