Most app ideas start in the shower. The good ones start in someone else's complaint.
Reddit is full of people describing a problem in their own words, often with the workaround they've built, the tools they've already tried, and how annoyed they are. That's free research. Your job is to find it, write it down, and decide which problems are worth a product. This guide gives you the searches, a way to score what you find, a one-file log, and a Claude Code prompt that turns the log into a shortlist.
Start with one search
Open Google and paste this, swapping in your niche:
site:reddit.com "is there an app that" dog walking
Two operators are doing the work. site: limits results to one website, and the quotation marks force an exact phrase. Google documents both. The phrase "is there an app that" is useful because the person asking has already decided software could fix their problem. They're halfway to being a customer.
A few refinements, all documented by Google:
- Narrow to one community.
site:accepts a URL prefix, sosite:reddit.com/r/Etsy "is there an app"searches only r/Etsy. - Keep it recent. Add
after:2025to skip threads from years ago, when the tools were different. - Cut the noise. Put a minus sign before a word to exclude it, like
-templatewhen every result is someone selling a spreadsheet.
Google also says not to put a space between the operator and your term: site:reddit.com, not site: reddit.com.
Other phrases that surface pain
"Is there an app that" is one door. These open others. Pair each with your niche and the site: operator.
| Phrase | What it tends to find |
|---|---|
"is there a tool" | Work problems, often from people with a budget |
"I wish there was" | A clear gap, described in the person's own words |
"how do you keep track of" | Messy workflows held together by notes and memory |
"spreadsheet" + your niche | Workarounds, which mean the pain is real enough to act on |
"alternative to" + a product | People unhappy with what they already pay for |
"I'd pay for" | Rare. Log every one you find |
"so tired of" | Emotional pain, which makes good hooks later |
Search inside Reddit too
Reddit's own search has filters that Google doesn't. According to Reddit's help center, you can type field filters straight into the search bar with no space after the colon:
subreddit:Etsy title:"how do you track"
subreddit:smallbusiness spreadsheet NOT template
The supported filters include subreddit:, title:, selftext: (the body of a post), author:, flair:, site: and self:true (text posts only). Reddit also supports AND, OR and NOT, which are case sensitive, plus parentheses for grouping. Wrap multi-word field searches in quotes. Then sort by New and set the time filter to the past year, so you're reading about today's version of the problem.
How to judge a complaint
Not every gripe is a business. Score each one from 1 to 3 on four things.
Frequency. How many different people have this problem? One viral post with 2,000 upvotes is one data point. The same complaint in eight threads across three subreddits is a pattern. Count separate voices, not votes.
Pain. What does it cost them? Look for hours lost, money lost, missed sales, or a client who got angry. A homemade workaround (the color-coded spreadsheet, the 14 phone alarms) is the best sign of real pain: they cared enough to build something ugly.
Willingness to pay. Do they already pay for something nearby? Is it a work problem, where a business card covers the bill? Do they name a tool they cancelled because it was "too much for what it does"? That last one tells you the price ceiling too.
Who's asking. A shop owner with 300 orders a month is a different customer from a student with a class project. Ask two questions: could this person pay, and could you find more people like them again next week?
A complaint that scores 3 on frequency and pain but 1 on willingness to pay is a great content topic and a weak product. Keep it anyway. You'll use it.
Keep a complaint log
One file. One row per complaint. Copy the person's exact words, because their phrasing becomes your headline later.
date,link,subreddit,quote,who,type,frequency,pain,pays,notes
2026-06-02,https://www.reddit.com/r/Etsy/comments/EXAMPLE1,Etsy,"I track every custom order in a spreadsheet and still miss deadlines",shop owner ~200 orders/mo,workflow,2,3,2,mentions trying two order apps
2026-06-02,https://www.reddit.com/r/Etsy/comments/EXAMPLE2,Etsy,"is there an app that reminds buyers to leave a review without being spammy",new seller,feature-gap,1,1,1,low pain
2026-06-03,https://www.reddit.com/r/smallbusiness/comments/EXAMPLE3,smallbusiness,"so tired of copying orders from email into my calendar",bakery owner,workflow,3,3,3,"already pays for Square, would pay more"
(Those rows are made up to show the format. Yours will be real quotes with real links.)
A few habits keep the log useful:
- Use a
typecolumn with a short, fixed set of labels, such asworkflow,feature-gap,priceandswitching. It makes clustering easier later. - Note who, not the username. "Bakery owner" is useful. A Reddit handle isn't, and you don't need it.
- Give it 20 minutes a day. Aim for something like 40 entries before you analyze anything. That number is an example, not a rule: you want enough rows that a pattern can show up on its own.
Respect Reddit's terms
Reddit's User Agreement says you can't "access, search, or collect data from the Services by any means (automated or otherwise) except as permitted," and that "scraping the Services without Reddit's prior written consent is prohibited."
So the workflow here is deliberately manual: you read, you take notes, you paste short quotes with a link. Claude works on your notes, not on Reddit. Don't point an agent or a script at Reddit to bulk-collect posts. Follow each subreddit's rules if you reply, and don't DM people a sales pitch because they complained in public.
Let Claude Code cluster it
Once you have a few dozen rows, open a terminal in your project folder, start Claude Code with claude, and paste a prompt like this:
Read research/complaints.csv. Group the complaints into clusters
that describe the same underlying problem, even when the wording
differs. For each cluster, give me:
1. A one-line name for the problem, in the customer's words
2. How many separate rows it covers, and which subreddits
3. The two most vivid quotes, copied exactly, with their links
4. The average frequency, pain and pays scores
5. Who is asking (job or situation), in one line
6. One sentence on what a paid product for this would do
Sort clusters by average pain times pays. Flag any cluster that
rests on a single row. Don't invent quotes or numbers: only use
what's in the file. Write the result to research/clusters.md.
Reading a file doesn't need your permission, but with default settings Claude Code asks before it creates clusters.md. Read the output with a skeptical eye. Clustering is judgment, so if two clusters look like the same problem to you, tell Claude to merge them and re-rank. If a top cluster rests on one loud post, it isn't a top cluster yet: go back to Google with that phrase and see whether more people say it.
Ask a follow-up or two while you're there:
For the top three clusters, what are people using today instead,
and what do they say is wrong with it? Quote the rows.
That answer is your competition and your positioning, in one go.
What to do with the top cluster
You now have a problem, the words people use for it, and a rough sense of who has it and whether they pay. That's enough to test. Two good next moves: put a one-page offer and a refundable reservation in front of these people (see Validate before you build), and start posting short clips about the problem itself (see Film the problem before the product). Keep the log going either way. The complaints don't stop just because you've picked one.
