The Problem

Most product ideas don't die because the builder couldn't ship. They die because nobody told the builder the truth early enough.

Friends say "that's cool." Twitter says "ship it." But nobody actually sits down and asks: is the problem real? Would a user pay for this? Can this even be built in a reasonable scope? Is there a business here?

That's the gap Verdict fills.

What It Does

You paste your product idea. Verdict runs it through a panel of four AI critics, each attacking from a different angle:

  • The Skeptic — is the problem even real?
  • The User — would a real person actually use and pay for this?
  • The Engineer — is the scope realistic?
  • The Investor — is there a defensible business here?

You get a score from 0 to 100, a breakdown from each critic, green flags, red flags, a suggested MVP scope, and one thing to validate before you build anything.

How I Built It

  • Frontend: Next.js 14 (App Router) with Tailwind CSS
  • AI: Groq API running llama-3.3-70b-versatile for fast inference
  • Competitor context: Jina reader API to scrape and summarize a competitor URL on the fly, no API key needed
  • Storage: localStorage only, nothing server-side
  • Deploy: Vercel

The whole thing is stateless. No database, no auth, no accounts. You land, you paste, you get a verdict.

The Hard Part

Getting four critics to sound genuinely distinct and specific was the real challenge. Early prompts produced generic advice that could apply to any idea. The fix was forcing the model to reference the actual idea in every critique and banning phrases like "consider your target market."

JSON parsing was also tricky since the model would occasionally wrap output in markdown code fences. Added cleanup logic to strip fences and extract the JSON object even if there's preamble text.

What I Learned

Prompt engineering for persona differentiation is underrated. The difference between a critic that says "market saturation is a concern" and one that says "three YC companies shipped this exact thing in 2023 and all pivoted" is entirely in how you constrain the output. Specificity has to be demanded, not assumed.

Built With

Share this project:

Updates