The problem
You have a rough startup idea, and before you disappear into three months of building you want to know who already does this and where the gap is. The honest way to answer that today is a few hours of manual work: search, open twenty tabs, ask an LLM that hallucinates half the companies, and try to synthesize notes you will never actually revisit. This tool runs that whole loop in one pass, grounded in live evidence, and ends on a decision instead of a report.
What it does
You type one sentence describing your idea. Under 90 seconds later you have a real competitive landscape discovered through parallel live search across Tavily, Product Hunt, and the YC database and tiered from direct to tangential, a differentiation layer (feature matrix, a 2D positioning map with the white space marked, gap analysis, SWOT, and rough market sizing), and the output that matters: one primary wedge and two alternates, each scored against a rubric, each carrying a confidence band and a trail back to the evidence that produced it. The whole run streams as NDJSON to a React and TypeScript frontend as it happens, then exports to a PDF and a deck you could send a cofounder.
Stack: FastAPI backend with Groq and LangChain orchestrating the model calls, parallel search across Tavily, Product Hunt, and the YC database, streamed as NDJSON to a React and TypeScript frontend.
The design decision that matters
Most "AI research" tools hand the model a query and format whatever comes back. This one assumes the model will lie and builds the guardrails in code. Competitors must originate from search results, the extraction prompt forbids invented URLs, and every URL is resolved and liveness-verified before it counts. Wedge scores have to cite competitors and gaps that exist in the run's own evidence; citations that don't match are dropped in code, and the wedge's confidence drops with them. The ranking itself is deterministic Python over a versioned, weighted rubric. The LLM proposes and explains, but it is never the thing that decides.
Quality as a number, not a vibe
Every search is scored asynchronously by an LLM-as-judge panel on relevance, grounding against the actual snippets, and completeness, and a golden-dataset regression suite measures precision, recall, and tier accuracy against known-good competitor sets. That harness is what lets me swap a model and actually know whether the product got better or worse rather than guessing. The current default shipped because its composite and grounding scores held or improved against the old one, and the per-idea numbers are committed to the repo rather than implied.
What I learned
The interesting engineering was not the prompts, it was the seam between the untrusted model and the parts of the system that have to be trustworthy. Once I stopped treating the LLM as an oracle and started treating it as a fast, unreliable research assistant whose every claim gets checked, the whole thing got more honest and, oddly, more useful. A tool that admits "three thin competitors, tentative wedge, low confidence" is worth more than one that manufactures certainty, because the person reading it is about to bet three months on the answer.
