How to Think of App Ideas

A framework for evaluating app ideas

Hi, I’m Zach — I’ve built my app business to about $4m in annual recurring revenue. Building a successful app business is really hard. That’s why I write a weekly newsletter about the things I’ve learned along the way. My goal is to help you grow your business and profit. If you want to learn more about the app business, I highly recommend subscribing.

The main purpose of evaluating app ideas is to make sure you don’t waste time building something that nobody wants.

Now, I’ll admit right up front that I’ve made this mistake many times. I’ve invested hundreds of hours into coding apps only to launch them and realize absolutely nobody wanted them. I’m going to help you avoid that dreadful experience by giving you some tricks you can use to make informed predictions about how well a certain product will do. 

In this post, I’ll be outlining my high-level framework for coming up with app ideas as well as my low-level, tactical tricks for testing out ideas before building.


Ideas are fickle. Your idea for anything will only work and generate revenue if it solves an important problem for somebody. Your idea doesn’t matter as much as the problem. It’s all about figuring out the specific problem you want to tackle.

Once you’ve identified the problem, you’ll need a hypothesis to solve it—which is where your ideas come in. In the course of building a successful product, you will be testing many ideas and therefore many hypotheses. A particular idea by itself is usually insignificant. Building a product is the act of repeatedly testing hypotheses that solve a particular problem. It’s a waste to emphasize one specific idea because you need to frequently rotate in new ideas. Hypotheses are meant to test and measure your assumptions. Each additional hypothesis you make will inform the next. View your ideas as one point in a trendline—just one of many, with each dependent on the previous. 

You don’t know if your idea will work because you don’t know if it does a good job solving the problem. That’s why it’s almost never a good idea to invest significant resources just to test your hypothesis. I know many people who’ve hired development teams and dropped $50k+ to build an app that ended up flopping because nobody wanted it.

Likewise, you don’t want to invest 500 hours into building an app or product that nobody wants. That’s painful—as I said before, I know this from personal experience. So start with the problem, build a hypothesis, and test it as you go to ensure you’re not wasting time or money on a dead end. Forget about your individual idea. Remember, businesses are built on the backs of problems. 

Thinking of ideas is still important, of course. When you become fully immersed in a given field, you’ll start to think of ideas with an implicit problem. I think of ideas all the time. I’m not always brainstorming problems and then trying to come up with solutions. That’s because I’m fluent in my particular niche of social media. I’ve built apps in this space, and I know the users and customers of my apps. So with many of my ideas, there already is an implied problem. Ideally, you’ll be thinking of ideas—but always through the lens of problems.

Becoming an Idea Machine

You may not think of yourself as an “idea machine,” but I want you to think of yourself that way so I’ll give you some tips. Thinking of app ideas is very much a learnable skill. This may seem like a stretch, but stay with me here—it reminds me of how dandelions flower. Dandelion seeds will naturally be picked up by the wind in the right season and drift gently through the air. If a seed is lucky, it’ll land in fertile ground that has the perfect mix of soil, moisture, and sunlight to grow and flower. 

Likewise, in terms of thinking of app ideas, you want your brain to be fertile ground so that when lightning strikes or you happen to stumble upon an idea, you can properly nurture it into existence. I define fertile ground as you being a cultured, well-informed person. You read books and blogs, both fiction and nonfiction; you talk to smart, creative people frequently; and you’re generally a curious and optimistic person.

The reason these characteristics are important is that app ideas and broader business ideas are often iterative and incremental. They’re rooted in a deep understanding of a particular domain—ideas frequently manifest as an optimization or a twist of existing products or concepts. It is essential that you know what is going on and understand the ground rules of the game you are playing. Being aware of what other companies are doing, how people are living their lives, what the latest cultural trend is—all of these will be advantageous to you in the field. 

In the end, your ideas are the product of your mind. Anything you can do to improve your mind will help you think of more thoughtful, cohesive ideas. Here are some mental exercises you can do to become a more creative, thoughtful person:

Tinkering—building things for fun with no clear objective. To properly think of new ideas, you need to know what is possible. This is why it’s good practice to always be playing around with emerging tech, tinkering with new APIs, and following your curiosity without clear objectives.

I used to be very objective-driven. I needed to see a clear, often financial benefit from whatever I was learning or I couldn’t focus. This happened a lot in college; I’d often think about some material we were learning and wonder, “How is this going to help me make money in the future?” Now, I realize that learning new skills—especially the kinds that don’t directly help you make money—will improve your ability to think of ideas and solve problems creatively. 

Over the summer, I was organizing in my apartment and preparing for a move. I don’t even know why, but this crazy idea crossed my mind—what if I made a database of every single piece of clothing I owned and kept track of what I wore every day? At first glance, this idea sounds crazy. I don’t even know why it popped into my head. There’s no immediately obvious rational reason to do this, but I decided to try it and see how long I would keep doing it. If you’re curious what it looks like, here it is. I did it for about a week. In the process, I learned how to use Airtable spreadsheeting software and had some fun. 

The bottom line is, by doing this seemingly pointless exercise, I became a more informed, creative person. Someday I might think “this idea should be built in Airtable”— I can safely put Airtable in my toolbox. 

Take things a step further. For example, let’s imagine I’m designing a new feature for my app that lets users share funny captions with their friends. Instead of just letting people share a caption, how could I take this one step further? I could speech-synthesize the caption and share an audio file, I could make the receiving user play a quick game of tic-tac-toe before they could see the caption, or I could let the user customize the colors, fonts, and image shared with the caption. 

Get into the habit of asking yourself, “What would this look like if I took it one step further?” That will flex your creative muscles more and often leads to cool ideas.

Acknowledge that the world can be incredibly unintuitive. So many businesses exist today that would’ve been considered unthinkable, even insane by people living a few centuries ago. Roblox, Uber, Twilio, iPhones … it takes an incredible amount of foresight to acknowledge the value of an idea before it gets traction. That’s because ideas, i.e., what works and what doesn’t, are incredibly unintuitive. 

I implore you to be comfortable and embrace unintuitiveness, like building random interactions or features in your product just for the sake of it. Base some decisions off your hypotheses and others because ... why not? Try to catch yourself thinking this wouldn’t work and unpack it a bit. Why wouldn’t it work? Am I making an unfair assumption about something?

Pause. You’re about halfway through the post. I really hope you’re getting something of value from it. I spent hours and hours writing and revising this piece. If you are enjoying it so far, I recommend subscribing so you can be one of the first people to read my new articles. I also like to ask subscribers what they want me to write about next. So if you’re curious about any of the topics in this article, make sure you subscribe and vote at the very bottom of the post.

Finding Problems

Problems mean opportunities—and that means almost all your app ideas should start with a problem. Ideas will only work if they solve some sort of pain point for a group of users. 

You can source problems from your own life or find them in other people’s lives. Try to catch yourself the next time you’re thinking “I wish there was a way to do x.” If you wish, others are probably wishing too.

Next, evaluate areas of friction; what annoys you throughout the day. For me, it’s laundry, cleaning my apartment, getting distracted by notifications on my phone, etc. Anything that annoys you can probably be turned into a useful product. Search the internet. Get on Reddit and see what people are complaining about. What are the latest gripes people are venting about on Twitter?

Once you have a repository of problems, the next step is trimming the fat around them: understanding the different degrees at which the problem exists and which level makes the most sense for you to tackle. You’ll want to reverse engineer the problem until you get to something that feels a bit more generic and broadly applicable.

For example, say my problem is the absence of good Chinese food around me. That idea can be distilled further and in many different directions. All the following are adjacent problems:

  • Discovering food around me is hard

  • There aren’t good restaurants around me

  • Restaurants around me aren’t using authentic Chinese recipes

  • Only high-end Chinese restaurants around me serve good food

Next, ask yourself “why” for each of these questions and start hypothesizing reasons:

  • Discovering food around me is difficult

    • Why? Yelp doesn’t understand my exact food tastes

      • Yelp/Google/Existing apps don’t really understand what kind of food I like

      • Yelp/Google/Delivery apps are filled with fake reviews

      • Yelp/Google/Delivery apps are filled with tourists

  • There aren’t good restaurants around me

    • Why? There isn’t a demand for good restaurants around me

  • Restaurants around me aren’t using authentic Chinese recipes

    • Why? Customers in my area aren’t interested in authentic Chinese food

  • Only high-end Chinese restaurants around me serve good food

    • Why? Because their ingredients are expensive and it doesn’t make financial sense for them to sell me their food at cheap prices

    • Why? Because good authentic Chinese food requires high-quality ingredients that cheaper restaurants can’t afford

Now, we’ve investigated each of the problems a bit more. Note, I thought up all these hypotheses off the cuff. I didn’t need to research—my basic fluency with society, culture, and business gave me enough of a foundation to think of plausible hypotheses. 

That is why being aware of the world around you and being a well-read person is invaluable in entrepreneurship. That’s also why it’s easier to operate in a space you’re an expert in already. If you aren’t familiar with the space, you’ll have to invest a lot of time into developing fluency. You simply can’t build a product in a space you don’t understand. 

Once you have a list of problems, you’ll put each of them through a test. Ask yourself two questions:

  • How many people experience this problem?

  • For the people who experience it, how painful or important is the problem? Or how pleasurable would it be to the person if it were solved?

The key is avoiding problems and/or businesses that are not painful, important, or fun, since that is indicative of a smaller business opportunity. This will ensure you don’t build something that nobody cares about. Generally, solving very painful/important/fun problems gives you leverage to charge lots of money. Think lifesaving drugs, private jets, or skydiving—but they don’t have a lot of users. 

In contrast, video streaming services like Netflix or Disney Plus have significant amounts of people who are interested in the space, but few who would say it's very important, so these services can’t charge a lot of money. Though, because there are a lot of people interested in the problem, they can charge a lot of people a little bit amount of money. There is a spectrum here: The more important, painful, and/or fun your problem space is, the more money you can charge, so the fewer customers you need to build a substantial business. Going through those questions is a useful thought experiment to verify your market size and potential to make money. 

Draft a Hypothesis

So, now that we’ve highlighted why you need to start with a problem, and how to evaluate problems themselves, let’s talk about how to build your hypothesis. 

Once you’ve determined a problem, you need to think of a solution for that problem, and that may be your app. Your solution to the problem should be a data-informed hypothesis. For example, this would be my hypothesis based on the above problems:

As a foodie, I struggle to find high-quality, authentic Chinese food. I believe this is because Yelp doesn’t understand my exact food tastes. I think a high-end (say, $30/month) subscription app that hooked you up with a food critic who spent time understanding your food tastes and then proactively recommended places to you would be an extraordinary business. Anyone who routinely eats out and enjoys new restaurants would be interested.

By following that chain of “whys” in my problem brainstorming, I was able to identify reasons I believe the problem exists. Now, we are left with a testable hypothesis.

Test Your Hypothesis

One of the best ways to test a hypothetical idea before writing a line of code is to ask your target users. For example ...

  • Reddit - I could go on a niche food subreddit and ask, “Would you guys be interested in a subscription app that paired you with a professional food critic who learns your tastes over time and proactively recommends you new restaurants and dishes?”

  • Twitter - If you have something of a Twitter following and your followers are in your target demographic, ask a similar sort of question;

  • Interviews - Pay people for their time. You can use a site like or to conduct interviews or surveys with people in your target market. You’ll ask them if they’d be willing to pay for a product that did X or you can even try to gauge how important or painful a problem is to them.

  • Keyword Research - Before building an idea, I really like to see if there is any kind of App Store search volume. I’m a huge fan of Appfigures here. You can search in their Keyword Inspector and see relative volumes of keywords. For example, before building Hashtag Expert, I could’ve searched “hashtags” or “Instagram hashtags” or “hashtag generator” to see if there are already people interested in this product.

  • Revenue Estimates - You can see how much competitor apps are making with a tool like SensorTower. If you’re thinking of building an app in a space where there are already some existing competitors, take a look at their revenue. It’s a good proxy for seeing if people are willing to pay to solve a problem. Take a look at the revenue for all the Caption-related apps and you’ll see why I struggle to make money off my Caption Expert app.

Ideally, you want to examine both the micro and macro questions about your problem and hypothesis. At a macro level, you want to figure out in general, are people in my target demographic interested in this idea? At a micro level, you want to do in-depth interviews with your target demographic and test your assumptions. For example, test your assumption that this problem is indeed very painful and people would be willing to pay significant amounts of money for it to be solved. The sooner you can test your assumptions, the better. 

You might run some of these tests and realize your assumptions about the problem are completely wrong: Nobody cares about this problem; it’s not painful or important to anyone. Then, go back to the drawing board, look at the different problems you wrote, and repeat the process. Now you have some data points. Adjust your framing of the problem and build new hypotheses to test. 

If you do get good feedback, you can start building out your solution. Again though, try to test your assumptions and ideas as often as possible so you can course correct. For example, you could build wireframes for your app and then go back to those same people and say, “Hey this is what I was envisioning for the app, your thoughts?” You want to incrementally move forward as you approach your minimum viable product (MVP).

This is all a function of what you’re good at, however. If you’re a designer, it might be trivial to throw together app designs in a day. If you’re a developer, getting a working TestFlight build might take a weekend. The goal is to save yourself time and make sure you are on the right path—if something is a small time or financial investment for you, then by all means try it.

Next Steps, Building

I started writing about building out your app ideas, but soon realized that would make this post even longer, and anyway, it’s a completely separate topic. My goal here was to give you a process and framework for evaluating your app ideas. Hopefully, using these tips and thinking about your ideas through this lens will save you time and empower you to think of more thoughtful and well-formed ideas.

What Should I Write About Next?

What’d you think about this post? Did you find it useful? Make sure you click one of the links below to leave me some feedback and vote on what I should write about next:

Paywall Analysis - a Breakdown of Real Paywalls and What I Would Change

Creative - How to Think About Creative for Paid Marketing

Year in Review - Lessons I’ve Learned This Year From My App Business

Month in Review - A Granular Breakdown of My Profit/Loss/Expenses the Past Month

College - The Inconvenient Truth About Dropping Out

Something Else

This blog is very much a product of you, the reader. If you want to get early access to my articles, I highly recommend subscribing. I’m already drafting out my next post so you won’t want to miss it. I also like to ask readers to proofread my articles and offer criticism so make sure you’re following me on Twitter if you want to be the first to see these posts.