Designing a Mobile App with ChatGPT

Generative AI has come a long way since the launch of ChatGPT in late 2022. There is now a wide range of large language models, chatbots, and tools designed to generate specific content, helping users launch websites, develop project plans, and more. While none of these models or tools are good enough to completely take over for a human yet, they’re a huge help with the “blank page problem” or going from an idea to the beginnings of an implementation.

If you’re looking to build a mobile app and struggling to get started, using generative AI can help you brainstorm designs, refine the UI of your future app, and save time when making decisions as part of the app-building process. You’ll still need to be the one making all the final decisions, but think of a tool like ChatGPT as an always-available, broadly knowledgeable assistant that can give you a lot of ideas (specific to your app) for you to sort through and refine.

This article explains how you can use a generative AI tool like ChatGPT to help you design mobile apps from beginning to end. From design ideas to user research, data handling, analytics, and actually using AI features in your app, you’ll explore how AI can be a powerful tool in your app building toolbox.

What Does Your App Do and Who Is It For?

If you have an idea for an app, you may need to validate the market need for your concept before starting to build. Much like you can use the sources section of a Wikipedia article to find resources to look deeper into a topic, tools like ChatGPT can be a great way to quickly get an idea of the size and shape of your potential market and gather a list of additional resources to investigate.

Let’s take a look at how this might work for a hypothetical app called CitationNeeded. The purpose of this app is to let users save their favorite quotes from books they have read and subsequently print books of these quotes for their personal use.

Market Research with ChatGPT

Market research is one of the most important parts of the early app-building process; you don’t want to spend time and money developing and refining an app that no one wants or that there is a very small market for, especially if you’re a small team. Traditionally, market research was a complex process that involved compiling data sets, combining them, creating visualizations, and doing things like SWOT analysis. Once you had all the data, you would present all these insights into a concise narrative that validates or refutes the necessity of your application. However, in the ChatGPT era, many of these tasks can be simplified and automated.

For the example app, CitationNeeded, you might assume that people who shop in physical bookstores or buy physical books online would be a good fit because they are likely to want a physical book of quotes and they’ll have plenty of books to source from. Let’s ask ChatGPT a couple questions about these types of potential users.

You are an expert market researcher who is experienced in validating ideas for mobile apps with market research data.
I'm currently doing research for my app, CitationNeeded, which allows users to save their favorite quotes from books they have read and get books of these quotes reprinted for their personal bookshelves.
If I wanted to target users who shop in physical bookstores, what sorts of data sets should I look for to help me validate this app idea?

One of the key points of using LLMs like the one that powers ChatGPT is that, if you’re not providing it with a data set up front, specific statistics shouldn’t be trusted as it will sometimes hallucinate, making up facts or confidently making incorrect assertions. So the example asks ChatGPT to provide ideas of what sorts of data sets to look at. As part of its response, ChatGPT suggested looking for “reports from organizations like the American Booksellers Association or publishers’ associations that provide insights into bookstore sales, trends, and demographics of book buyers.”

When you start to look around for that data (or you could ask ChatGPT to more specifically point you in the right direction), you might find something like this data set from the Federal Reserve showing how many millions of dollars of books were sold in retail stores every year.

If you download this data set as a CSV, you can upload it to ChatGPT and ask questions about it.

A screenshot of ChatGPT showing how the file-upload mechanism works

For example, if you ask which year in the past fifteen years had the highest sales, ChatGPT goes to work analyzing the data set and trying to figure out the answer by writing a couple different snippets of Python code (if you want to expand the code and take a look at it, go to the full chat here).

A screenshot of ChatGPT performing data analysis

Using ChatGPT like this is a quick and powerful way to manipulate different data sets, even if you’re not as proficient in a tool like Python or Excel.

As with any AI tooling, make sure to double-check your results against verifiable sources of the underlying data and consider using multiple different models (OpenAI’s ChatGPT, Anthropic’s Claude, Google’s Gemini, etc.) to get the best and most accurate results.

User Needs Analysis

ChatGPT is also good at playing the part of your potential users, which allows you to flesh out their needs and even develop user personas. To start, you might ask ChatGPT about the pain points of people who read a lot of physical books:

Prompt: I'm working on developing an app for users who read lots of physical books. What are some pain points of these users? What are they currently struggling with that an app might be able to solve?

This prompts a long response, but let’s focus on one particular pain point: “Cataloging Books: Maintaining an organized library can be challenging. An app that allows users to catalog their books by scanning ISBNs or manually entering details could be useful. Features could include sorting by author, genre, or read/unread status.”

That sounds pretty similar to the app idea you’re doing market research for. Both ChatGPT’s suggestion and the app idea allow users to keep their reading organized. You can then ask to dive a bit deeper into that point.

Prompt: What are the types of users who might need help cataloging books? Can we develop a user persona for them and brainstorm what other sort of help they might need?

After thinking a bit, ChatGPT provides the beginnings of a user persona:

User Persona: The Avid Reader
Name: Alex Johnson
Age: 29
Occupation: Software Developer
Location: Chicago, Illinois
Interests: Reading, technology, writing blogs about sci-fi and fantasy literature
Goals:
- Keep an organized list of books owned.
- Track reading progress and plan future reading.
- Share book recommendations and lists with friends.
Pain Points:
- Difficulty managing and remembering the status of books (read, reading, to read).
- Wants to find books quickly without physically searching through shelves.
- Needs a way to categorize books by genre, author, and reading status but finds manual logging time-consuming.
…

Ideation and Conceptualization

Once you’ve finished some of the initial brainstorming about who your potential users might be, you can ask ChatGPT to start ideating on some of the features of your application. If you do this in the same chat, ChatGPT will have access to your previous messages and its previous responses, which retains all that context in your brainstorming. If you start a new chat, you’ll want to give ChatGPT a summary of your app idea and the work already completed on user personas and user needs. If you are a paid user of ChatGPT, you can take advantage of the new memory feature that allows information to persist between chats.

It’s important to reiterate here that you shouldn’t have ChatGPT create your entire product roadmap and just build only those features, but you can have it generate a list of ideas based on what it’s already learned about your target market and potential users. Use your knowledge and critical thinking to curate ChatGPTs suggestions into what will eventually become the feature set for your app.

Prototyping and Wireframing

Once you’ve taken care of most of the conceptual work and planning of your application, you can move on to the prototyping stage. Unsurprisingly, ChatGPT can also help with this in various ways.

Integrating ChatGPT into Prototyping

As of October 2023, ChatGPT Plus, OpenAI’s premium offering, also contains their powerful DALL·E 3 image model, meaning that you can generate images with just a chat prompt. Of course, since app mockups and wireframes were present in DALL·E’s training data, you can prompt it to generate wireframe concepts as well. This can be useful if you’re looking to explore and iterate on design ideas for a specific feature.

To make sure ChatGPT knows how to generate an image, you’ll want to specifically mention the word “image” in your prompt:

Prompt: Generate a wireframe image for a mobile app user interface allowing a user to browse quotes from books that they have saved.

An example of a wireframe generated with ChatGPT

To iterate on this design, give ChatGPT a prompt with a specific interface mentioned (again making sure to specify that you want an image) or click the regenerate button to have ChatGPT generate another version based on your original prompt.

An example of a wireframe generated in ChatGPT

User Flow Optimization

If you already have an idea of how a particular type of user will move through your application, consider summarizing that in an outline and asking ChatGPT for advice. The following are some questions that you might not have considered that ChatGPT could provide feedback on:

  • What happens when a user wants to change the email address on their account?
  • How is two-factor authentication handled, especially for password resets and other “edge cases”?
  • If there is any possibility for user-generated content, how is that uploaded and how is security handled?

After feeding it all the information you currently have on your ideal user flow, ChatGPT should be able to help you answer these types of questions and expand the outline of how users move through your app.

If you already have an app with its user flow mapped out structurally, whether through JSON endpoints or page diagrams, ChatGPT can use that as input and offer recommendations that align with specific questions. It could also suggest ways to reduce friction in your app based on insights gathered from typical user pathways or a structured diagram illustrating how your app functions and how data flows within it.

Visual Design Exploration

ChatGPT can also help you with the visual design component of your application. When asked for a similar version to the wireframes above but with a red-and-blue color scheme, it generated the following output:

An app designed with ChatGPT using a red-and-blue color scheme

You could continue to iterate on a general design in this way, viewing multiple color schemes and even generating color combinations with suggested hex codes, until you find a visual style you like.

Handling Application Data

Once you have design ideas for your application, the actual data it’s going to handle starts to come into play. To ensure your app will function correctly, you need to figure out the best way to design and handle all the data it has to process.

Creating Data Models

At this point, ChatGPT (if you’re still using the same chat) likely has an idea of all the various features of your app, so it can also suggest a data model. In the example case, it might suggest a books model and a quotes model with a relationship between them. You can ask ChatGPT as many questions as you like until you feel you understand the data model it’s suggesting.

Data Extraction

Once you have your data model, ChatGPT can also start to construct database queries so you can create these tables in your database of choice. You need to create your data model first and establish relationships between the various pieces of your data. Without this information, ChatGPT would struggle to create the correct database queries, but with all the underlying data information, database queries are a structured type of language that AI can interpret and write very well.

Writing Data

Once your database is established, it’s only useful if you can ingest and produce data with it for your users. ChatGPT can also use the information it already knows from your brainstorming to help you optimize this. For instance, you may need to determine whether data should be normalized or denormalized to optimize the database’s handling of user input and queries. If data obtained from APIs must coexist with user-submitted data, you also need to decide how to structure the database tables. Furthermore, if an API has been public for a while, its documentation could already be in ChatGPT’s knowledge base. This means it can quickly provide useful information and support that matches your app’s needs.

Later, if your requirements change and you need to reflect those changes in your model, ChatGPT can guide you through the process based on the data model decisions you previously made. For example, as you continue brainstorming, you may decide that users need to be able to be a part of a data model called teams. You can provide this new information to ChatGPT, and it will help you rework the structure of your database tables to accommodate this feature request.

Analytics and Reporting

Once your app is up and running, you’ll want to collect analytics to tell you how it’s being used and how it can improve. One of the tricky things about analytics is that you have to determine ahead of time what data you need and create specific logic for its retrieval to prevent inadvertent exposure of personal information. Based on ChatGPT’s broad knowledge of app and analytics architectures and its specific knowledge of the app you are building, you can have conversations to brainstorm and ultimately determine how you want to implement reporting in your application, given the type of data you’re storing.

Implementing AI in App Runtime

Outside of using ChatGPT or another AI chat tool to help design your app, AI features are also becoming more common within applications themselves. One of the most common types of AI features in mobile apps is the ability of AI models to have “vision” and parse what’s going on in a photo or (in the case of Google’s Gemini model) video.

These vision-enabled models have a broad range of implications, from auditors taking documentary photos to identify specific areas of a photo that warrant further investigation to the ability to quickly snap a picture of a receipt or a table of data and have that information instantly in a structured format. These upgraded models have transformed formerly tedious and error-prone workflows into one-step, photo-based data-creation processes.

In addition, providing chatlike capabilities of tools like ChatGPT directly in your app to help users within specific contexts is a very powerful way to leverage AI. Imagine a support tab where, instead of having to send a support message, a user could ask a natural language question and get back relevant documentation that you’ve already written. If your app is a chat app, you could build an AI feature that suggests a summary of the previous discussion or potential further topics to explore based on what’s being talked about.

Adding AI functionality to your app unlocks solutions and use cases that were just simply not available before and that can be a huge benefit to your users.

Gathering Feedback and Refinement

Once you have gone through this whole process, decided what your app needs to do, figured out the data model, and actually built it, you need to launch and gather feedback to make it even better.

Most apps allow and encourage free-form collection of user data, but if your app is popular, it’s easy to get overwhelmed by the amount of feedback you get from your users, both good and bad. This is yet another area where ChatGPT can help. You can pass all your user feedback into ChatGPT and ask it to rank it in terms of order of importance, group it by the number of similar responses, or show all the negative feedback first. ChatGPT can provide different views of your feedback data that can be very helpful in deciding how to improve your app.

You can take this feedback one step further and feed this information back into earlier parts of your workflow, asking ChatGPT to generate updated mockups, wireframes, or data models that would help you implement the postlaunch feedback you’ve received from your users.

Wrapping Up

Integrating generative AI into the app-development process is becoming increasingly standard practice rather than an exception. It can provide great support whether you’re using ChatGPT to overcome the initial hurdle of the “blank-page problem” when starting to develop your mobile app or seeking assistance with refining an existing app based on user feedback.

Once you have an application up and running, generative AI tools like ChatGPT can help you brainstorm ideas for new features, come up with marketing ideas, and even be integrated into your app to allow your users to be more creative.

No matter which part of the app-building process you’re in, the potential efficiency gains from combining generative AI with a human designer and builder are unlike any previous technology. Thanks to generative AI tools that will only get better in the future, your next app idea is more in reach than ever before!