Finding SaaS ideas on Reddit with AI: method and open source tool

3 min readApril 29, 2026#wibn#saas#idées#reddit#groq#inngest#ia#validation

GitHub →


WIBN — finding SaaS ideas by analyzing pain on Reddit

The best SaaS ideas come from people expressing their frustration in public.

Reddit is full of it. Someone writing "I spend 3 hours a week doing this manually, doesn't a tool exist for this?" — that's a documented pain point, in real time, with votes indicating the level of collective interest.

WIBN — "What Is Broken Now" — automates the extraction and analysis of these signals.


What it does

The pipeline runs in 4 steps:

1. Scraping — collecting Reddit (and HackerNews) posts filtered by topic. Configurable sources, rate limiting via Upstash Redis.

2. Scoring — every post gets a painScore computed from several criteria. The painScore is different from the Reddit score:

interface ScoredPainPoint extends RawPainPoint {
  painScore: number;   // computed level of real pain
  score: number;       // raw Reddit upvotes
}

The Reddit score measures popularity. The painScore measures how acute the problem is. They're not the same thing.

3. AI analysis — Groq analyzes the highest-scored pain points and generates SaaS solution leads.

4. Background jobs — Inngest orchestrates the scraping in the background. Automatic retry if a source is slow or unavailable.


Why Groq and not OpenAI

For mass classification and idea generation, latency matters more than absolute precision. Groq is significantly faster on short inferences. This is a volume game.


Why Inngest

Scraping shouldn't block the interface. And a slow source shouldn't kill the whole pipeline.

export const scrapePainPoints = inngest.createFunction(
  { id: "scrape-pain-points" },
  { event: "scraper/run" },
  async ({ event, step }) => {
    const raw = await step.run("fetch-posts", () => fetchRedditPosts(event.data.query));
    const scored = await step.run("score-posts", () => scorePainPoints(raw));
    await step.run("store", () => storePainPoints(scored));
  }
);

Each step is isolated. If score-posts fails, Inngest retries from there — not from the beginning.


Stack

Next.js 15 · Drizzle ORM · Vercel Postgres · Groq SDK · Inngest · Better Auth · Upstash Redis

Project status

WIBN is functional on the scraping and scoring side. It's a personal tool — not a public SaaS at this stage. The hypothesis being tested: can you find market-validated SaaS ideas in under 10 minutes, rather than spending weeks searching for a problem to solve.


→ For an example of a SaaS built from validating a real problem: Trust is a product — Pixel-Mart → For Inngest + Next.js patterns: no complete documentation exists in French yet — it's planned.