# Build brief — a focused alternative to IdeaFast

> **Verdict:** Partly, if you narrow it · **Buildability:** 58/100 · **Category:** User Research
> **Source:** https://www.canitbevibecoded.com/ideafast
> Independent editorial assessment from Can It Be Vibe Coded? Not affiliated with, endorsed by, or derived from IdeaFast. Verify current pricing and capabilities before acting.

## Context

**IdeaFast** — Scans Reddit conversations, clusters them into scored pain themes backed by real quotes, and turns the strongest into startup ideas. It currently costs $19/mo.

The pipeline is honest work an agent can do: pull public Reddit JSON, prefilter complaint-shaped text, classify with an LLM, embed and cluster, rank by frequency times severity times recency. A contained gets you ranked pain themes with real permalinks for two or three subreddits you already know. What does not fall out of one session is everything after the demo: staying inside Reddit's rate limits at scale, picking which communities are worth scanning when you do not already know, deduping the same pain across runs so week two is not week one again, and keeping the LLM bill under the price of the subscription. Verdict is kinda, not yes, because the first run is easy and the tenth is where the product actually lives.

This brief describes a focused, single-operator replacement for the part of IdeaFast that is genuinely reproducible. It is deliberately narrower than the product it replaces, and it says so in writing. Build the useful core; do not pretend to have rebuilt the rest.

## What you are building

Pull posts and comments from a handful of public subreddits, classify complaints with an LLM, cluster them into named pain themes, and rank them with clickable quote evidence.

- Build a focused single-user workflow with real persistence, search, and export.
- A responsive interface with real empty, loading, success, and error states.

## Requirements

### Functional

- Embedding model.
- SQLite.
- Patience with Reddit rate limits.

### Data and integrations

- Anthropic or OpenAI API key.

Each of these needs a real account, credential, or quota. Set them up before writing feature code.

### Non-functional

- Accessibility: semantic markup, labelled controls, visible focus, and reduced-motion support.
- Security: server-side secrets, validated input, and no credentials in the client bundle.
- Reliability: retries with backoff on external calls, and a clear failure state when a provider is down.
- Portability: the operator can export their data and leave without losing it.

## Implementation brief

Build me a Reddit pain finder: a local CLI plus a small dashboard that reads public
Reddit and turns complaints into ranked pain themes with clickable evidence.

- TypeScript on Node 22, SQLite via better-sqlite3, Hono for the dashboard. One
  repo, one `npm run scan` entrypoint. No accounts, no cloud, no telemetry.
- Input: subreddits.txt plus a timeframe flag (default 90 days). Fetch posts and
  top level comments from Reddit's public JSON endpoints, for example
  https://www.reddit.com/r/<sub>/top.json?t=year. One request every 2 seconds, a
  real descriptive User-Agent, and cache every raw response in SQLite so re-runs
  cost nothing. No OAuth, no logged-in scraping.
- Prefilter to complaint-shaped text with cheap regexes ("I hate", "why is there
  no", "wasted hours", "workaround", "gave up on") before spending a single
  token. This is the whole cost story, do it first.
- Classify survivors with Claude (ANTHROPIC_API_KEY in .env, batched, cached by
  content hash) into: is_pain, severity 1 to 5, one line summary.
- Cluster: embed the summaries, group at cosine similarity above 0.82, then have
  Claude name each cluster and pick its 5 strongest verbatim quotes with
  permalinks. Never paraphrase a quote, evidence has to be clickable or it is
  worthless.
- Score each cluster as frequency x mean severity x recency decay, and persist
  scores per run so a later scan can show what moved.
- Dashboard on localhost:3000: ranked clusters, expandable quotes with permalinks,
  filter by subreddit, CSV export.
- README: how to choose subreddits, the rate limit rule and why breaking it gets
  you blocked, and rough token cost per 1000 comments.
- Out of scope: sources other than Reddit, idea generation, and cross-scan dedupe.
  Get one subreddit list producing clusters you actually trust first.

## Delivery standard

- Inspect the repository first, then write a short implementation plan before writing code.
- Deliver the smallest complete end-to-end workflow first; every primary control must work against persisted data.
- Use real validation and storage; never substitute fake dashboards, decorative controls, hard-coded success states, or mock integrations.
- Include responsive layouts plus genuine empty, loading, success, validation, and failure states.
- Keep secrets server-side in environment variables, provide .env.example, and never commit credentials or user data.
- Add structured logs around every external call and return actionable errors without leaking sensitive details.
- Write unit tests for the core logic and one automated test of the main user journey.
- Finish with a README covering setup, architecture, data location, backups, tests, deployment, and known limitations.

## Acceptance criteria

- [ ] A clean install starts the app using only the README and .env.example.
- [ ] The primary journey works from first visit through saved result, reload, edit, export, and deletion where applicable.
- [ ] Invalid input, missing configuration, provider failure, and an empty database each have a usable state.
- [ ] The interface works at 390px and 1440px, is keyboard navigable, and shows visible focus on every control.
- [ ] Tests, type checking, linting, and a production build all pass with no ignored failures.
- [ ] No part of the interface implies a live integration, security guarantee, or scale capability that was not actually built and verified.

## Non-goals

Do not build these, and do not claim to have replaced them:

- Community discovery, you can only scan subreddits you already thought of.
- Cross-scan dedupe, so repeat runs resurface the same pains as if they were new.
- A warmed corpus, every fresh scan pays the full ingestion wait.
- Cost control, naive LLM classification of a busy subreddit gets expensive fast.
- Reliability at the vendor's scale is an operations problem, not a prompt.
- The last 20 percent is sync, migration fidelity, speed, and edge cases.

## What you still own after launch

- Secure credentials, rotate secrets, and handle provider rate limits.
- Run migrations, backups, restores, and dependency updates.
- Test the critical journey after every model, API, or hosting change.
- Monitor failures and fix the edge cases a first prompt will miss.

## Risk

**Operational risk.** The code is achievable; dependable data, integrations, and ongoing operations are the real cost.

Editorial confidence in this assessment: medium. No independent one-shot implementation is linked yet.

## Prior art

Working open-source software you can read, fork, or borrow from before starting:

- [PRAW](https://github.com/praw-dev/praw) — Python Reddit API wrapper, the usual starting point for the ingestion half
- [BERTopic](https://github.com/MaartenGr/BERTopic) — Topic clustering over embeddings, covers the grouping step without an LLM

---

Generated by [Can It Be Vibe Coded?](https://www.canitbevibecoded.com) · Full report: https://www.canitbevibecoded.com/ideafast
