Earlier this month I built a small listener for demand discovery. It watches five subreddits and seven Hacker News search phrases, matches five keyword groups, and stores every hit in a local SQLite file.
Week one gave me:
The zero is what caught my attention.
The usual advice is "go where the pain is." So I did. The listener found plenty of pain. One of the nine, paraphrased: a freelancer waiting on an unpaid invoice, client gone quiet, asking how long others wait before sending the second follow-up.
But finding someone with a problem isn't the same as having a good reason to jump into their conversation. I could have replied: "I built an offline invoicing tool that..." Technically relevant. Probably also exactly the kind of reply everyone has learned to ignore.
So I'm starting to think discovery isn't the scarce resource. Earned context is.
So here's what I'm going to try. For the next four weeks I'll answer useful questions in one community without mentioning my product. No links. No "I built this." No clever transition into a pitch. At the end I'll count one thing: how many of the conversations I participated in naturally led someone to ask what I was building.
Not traffic. Not impressions. Not profile views. Not upvotes. If the number is zero, I'll publish zero. I'll name the community in the week-four post, whichever way it lands.
Here's the part that makes the experiment uncomfortable for me: the same week my listener found 289 invoicing hits, my own Indie Hackers post about publishing my data format got zero comments. Maybe I don't have a discovery problem at all. Maybe I have a presence problem. I'm curious whether I'm overcorrecting.
I'm not naming my product in this post. Zero customers so far.
Two questions, and I'd especially like answers from people who've tested both sides:
I'll post the week-four count here, whether it's zero or not.
Thanks for sharing the numbers, that makes it much easier to follow.
That 232 truncated snippets number feels like an important split in the experiment. Right now “no reply felt earned” is mixed with “I couldn’t properly read the context.” I’d log those separately in week four, even if the main no-pitch count stays fixed. Otherwise the fetcher bug might look like a distribution lesson. The no-link/no-pitch rule still feels right though.
Vlad, I run a version of your experiment in two communities, one comment a day, and I count something slightly different: how many authors reply at all, and how many of those replies correct me. I'm a QA engineer, so my comments are usually one specific thing I found in the poster's own product. The pattern after a few weeks is blunt. The ones that got an answer were always posts where the author had just shipped something and I had opened it before typing. The ones that got nothing were posts where I had an opinion but nothing specific to point at. So the variable may not be restraint versus promotion. It may be whether you did any work before you wrote.
I think the four-week experiment will be more useful if you measure what happens after the first helpful reply, not just whether someone eventually asks about the product.
A reply can create useful context even if nobody asks what you're building. For example, someone might clarify the problem, describe their current workaround, or come back with a more specific question.
Those signals could tell you whether the community is actually giving you access to real problem conversations, even before there is any product interest.
I’d probably track the conversation depth alongside the eventual product questions. That might also help separate a community with genuine problem discussion from one that simply has a lot of keyword matches.
That's the layer my count misses, and it misses it in a specific direction: depth can prove access even when product interest never shows up.
So I'll log three depth signals per thread I reply in: they clarify the problem, they describe a current workaround, or they come back
with a sharper question. The primary count stays binary — I committed to that publicly and won't move it mid-experiment — but the depth column goes into the week-four post next to it.
That also gives me the separation you named: a community where threads deepen is giving me real problem conversations; one where they don't is just keyword matches with people in them.
From your side: which of those three signals has actually predicted real access for you — the workaround description or the return visit?
The zero is a useful constraint. I’d make “no pitch” operational with a two-step gate: can I answer fully without mentioning a product, and did the person actually ask for a tool? Then track replies that lead to a follow-up or explicit permission before sharing anything—keeps “earned context” measurable.
The two-step gate turns "no pitch" from an intention into a check I can fail, which is exactly what it needed. Adopting it verbatim: can I answer fully without naming a product, and did this person actually ask for a tool? Only a yes to the second makes sharing permissible at all — and even then only after a follow-up or explicit permission.
That second gate also solves a quieter problem: it stops me from treating silence as an invitation. Nobody asked for a tool in any of the nine readable conversations, so nothing was shareable, and now I can say why in one sentence instead of vibes.
Curious which half does the real work in your experience: has the "did they ask for a tool" gate ever flipped a reply from draft to sent, or does the first gate catch everything first?
That “earned context” distinction rings true. I’d be tempted to make the experiment’s unit of learning the reply itself: log whether each response is purely helpful, asks a clarifying question, or includes a concrete next step, then compare which threads produce follow-up. Have you considered adding a small relevance/urgency score before reading the full context, so the listener helps with triage rather than just volume?
Making the reply the unit of learning is the upgrade this experiment needed. I'll grade every reply at write time — purely helpful, clarifying question, or concrete next step — and compare which grade produces follow-up.
On the relevance score: my listener already paid that tuition. It died at triage, not at reading — 232 of 289 snippets truncated by my own fetcher bug before any score could run. Version two scores first and fetches full context only above a threshold.
One practical question: do you grade at write time or after, when you can see what landed? I'm leaning write time plus a one-line post-hoc note.
Makes sense. Are you planning to charge for it, or keep it free for now?
Both halves already exist. The Start tier is free to try — up to 5 clients and 5 projects a month, same encryption, same local file. Standard is $49 one-time when it ships: no subscription, no account, no per-seat math.
The one-time price is the part I can't prove yet, and I said so in the post. Zero customers so far. I'll use Start-to-Standard conversion at 30 days as one of the first tests — published either way, but it's a test, not a promise.
What made you ask — pricing for something you're building, or something you're buying?
Interesting approach. What was the hardest part to get right?
Nice progress. What is the next thing you are focusing on?
Interesting take. Would you still recommend this approach to someone starting today?
Nice work shipping it. What has been the biggest challenge since launch?
Interesting. How are you measuring whether it is working?
Helpful post. How did you get your first bit of traction?
Nice progress. What is the next thing you are focusing on?
Curious how long it took before you saw the first real results?
For the four-week experiment, what would distinguish meaningful commercial signal from people simply appreciating your replies—an unsolicited product question, a qualified conversation, or a request to test it?
The count stays as the post defines it: an unsolicited product question. It's the only event in your list I can't manufacture.
Appreciation I can earn with any decent reply; a question about the tool means someone moved from "good comment" to "what's behind it"
without me pushing.
The other two I record as tiers, next to the count, not inside it. A qualified conversation is substance without an ask; a request to test
is the strongest of the three and currently unfulfillable, since the build isn't public until Early Access.
And none of the three is commercial signal. Commercial signal is money, and money shows up in the cohort number after launch. This
experiment measures whether earned context produces curiosity without prompting; the cohort measures whether the promise produces payment.
Conflating them is the mistake you pushed back on in thread #3, so I won't rebuild it here.
From your side of the hinge: which of the three would you accept as evidence before launch — and has your filter ever burned you by being
too strict?
That’s exactly where I’d be careful about giving a universal answer. Whether any of those signals count as useful evidence depends on the decision they’re being used to inform—and that’s where I’d want to examine the specific context rather than apply a fixed filter.
289 complaints and zero replies is a wild gap between signal and action. What's been the blocker — bandwidth, or not being sure which ones are worth responding to?
Mostly the second one.
The 289 were keyword hits, not 289 good conversations. After the fetcher problems, I could actually read 9. The harder part was
deciding whether I had something genuinely useful to add without turning the reply into a disguised pitch.
So bandwidth wasn't the bottleneck. Knowing whether I had earned a reason to join the conversation was.
Clear and practical, thanks. Did anything surprise you along the way?
Yes — I expected the hard part to be finding enough pain. It turned out to be the opposite.
Once I had actual conversations in front of me, the surprise was how hard it was to find a reply that was both useful and not a disguised
pitch.
And the other surprise: how much of the 289 disappeared once I fixed my own fetcher. The bottleneck was my code, not the market.
Curious how long it took before you saw the first real results?
Pretty quickly for the discovery part — the first run produced the 289 hits.
But I wouldn't call that a real result yet. The interesting result was what happened after filtering: 9 conversations I could actually read, and zero where I felt good about replying.
The commercial part hasn't happened yet. That's what the four-week experiment is supposed to test.