The bottleneck was me
For a while the loop looked like this: I think of an idea, I ask Claude to research whether it's feasible, we decide. It kept stalling — not on the research, but on the first step. Generating ideas I actually believed in was slow, and every stall was mine.
So we flipped the roles. I stop being the front of the funnel. A pipeline scouts and filters; I only make the go / no-go call. The point isn't more ideas — a firehose of shallow ideas is worse than none. The point is to only ever look at signal.
What an idea needs before it earns any code
Building is cheap now. The expensive, scarce thing is knowing a real person will use the result. So every idea the pipeline surfaces has to arrive with three things attached, or it doesn't count:
- A specific target user — not "small businesses", but who exactly feels this.
- A way to reach them — the actual channel, or the idea is a fantasy.
- A 30-minute test — the cheapest experiment that proves demand before a line of product gets written.
How it works
The shape is deliberately boring and deterministic. Code does the fetching, deduping, and scoring; the model is only invited in at the very end to frame what the code already found.
sources → dedup → rank → claude -p → Telegram
(Reddit, (state (pain- (frames the (push to
HN, PH) file) signal) real signal) my phone)
Each source is read for posts where people say the quiet part out loud — I wish there was a tool, is there any way to, I do this by hand. A state file remembers everything it has already shown me, so nothing repeats. Only then does claude -p get the top signals — with their source links — and turn them into framed ideas.
Code decides what's worth reading. The model only ever reasons on top of real, fetched signal — it never gets to invent a pain point.
That last rule is the whole game. It's the same discipline I lean on everywhere: the machine can reason, but it reasons on numbers and quotes it was handed, never ones it made up. An idea with no source link attached is not an idea; it's a hallucination with good grammar.
What broke
Reddit fought back. Its JSON endpoints now return 403 to anything that looks like a bot, and the RSS fallback rate-limits your IP hard — so a chunk of the richest sources (where non-developers describe everyday pain) drop out, and the ideas skew toward developer tools. Telegram bit me too: sending with Markdown means one stray _ in scraped text returns 400 can't parse entities and the push silently dies. Plain text fixed it.
What I'd change next
The honest weakness right now is signal strength. RSS gives me no vote count, so a pain point voiced by one person ranks the same as one echoed by hundreds. The fix is a proper Reddit app token — not just to dodge the rate limit, but to filter for pain that many people feel, not one. Fewer ideas, higher conviction. That's the trade I want.