Back to projects

AI Product · Built MVP

ProductQA Copilot

AI-assisted requirement analysis for Product & QA teams

From ambiguous requirements to actionable Product & QA insights — ProductQA Copilot reviews product requirements before implementation, surfaces gaps and blocking questions, evaluates readiness, and generates structured Product and QA analysis.

Product DiscoveryAI Product DevelopmentMVP ScopingLLM EvaluationPythonGemini API
ProductQA Copilot — analyzing a requirement, evaluating readiness, and surfacing an implementation-blocking clarification.
01

Why I built this

Catching ambiguity before it becomes an implementation problem

While working across requirement reviews, acceptance criteria, edge-case analysis, UAT, and releases, I saw how a seemingly simple requirement could leave important questions unanswered.

Example requirement

“Users should be able to purchase a gift card using UPI.”

This sounds straightforward, but quickly opens questions around payment states, retries, gift-card issuance, failure handling, limits, and dependencies. When these questions surface late, they can create additional discussions, implementation uncertainty, missed test scenarios, and rework.

“Can AI help Product and QA teams identify important requirement gaps earlier — before implementation begins?”

Problem statement

Product and QA teams need a structured way to identify ambiguity, missing states, and implementation-blocking questions before requirements move deeper into development.
02

Users & product hypothesis

User

Product Managers

Review requirements for missing states, user journeys, assumptions, risks, and unanswered product decisions.

User

QA Engineers

Identify edge cases, negative scenarios, technical considerations, and areas requiring clarification before test execution.

Product hypothesis — not a measured outcome

“If Product and QA teams can surface important ambiguity during requirement review, they can enter implementation discussions with clearer questions and better-defined test coverage.”

03

From problem to MVP

Rather than making the first version a general-purpose Product or QA copilot, I scoped the MVP around one narrow job:

“Give ProductQA a product requirement and help determine whether it is clear enough to proceed.”

Included in MVP

  • Requirement summary
  • Gaps & ambiguities
  • Clarifying questions
  • User journeys & states
  • Acceptance-criteria assessment
  • Product / UX / quality risks
  • Positive, negative, boundary and edge QA scenarios
  • Technical considerations
  • Assumptions
  • Requirement readiness

Intentionally not in V1

  • Jira / Linear integration
  • Historical requirement context
  • Team collaboration
  • Requirement rewriting
  • Automatic ticket creation
  • Organization-specific knowledge bases
  • Production analytics
  • Autonomous approval / rejection
04

The core product decision: readiness

Moving beyond AI-generated suggestions

Generating questions alone wasn't enough. The output needed to help the user understand:

“Can we reasonably proceed with this requirement, or is an unresolved decision blocking implementation/testing?”

READY

The explicitly requested behavior is sufficiently defined to implement and test. Additional questions may improve completeness but aren't blockers.

NEEDS CLARIFICATION

The core intent is understandable, but one or more unresolved decisions materially affect implementation or reliable testing.

NOT READY

The requirement is fundamentally unclear or contradictory enough that implementation cannot reasonably proceed.

In the demo above, ProductQA identified an unresolved UPI pending-payment state and classified the requirement as NEEDS CLARIFICATION.

05

How ProductQA works

  1. Product Requirement
  2. Analyze Requirement
  3. Check Requirement Signals
  4. Identify Gaps & Ambiguities
  5. Generate Product + QA Analysis
  6. Readiness Decision
  7. READY / NEEDS CLARIFICATION / NOT READY
  8. Human Review

ProductQA combines LLM reasoning with deterministic requirement checks and structured outputs. The AI generates the analysis, while a custom requirement-quality tool checks for selected signals such as failure handling, limits, and integrations.

The final result remains decision support rather than an automated approval mechanism.

Product view

Product Analysis — surfacing gaps, clarifying questions, user journeys, acceptance-criteria considerations, and Product/UX/Quality risks.

QA view

QA Analysis — generating positive, negative, boundary and edge-case scenarios alongside technical considerations.
06

Key product decisions

Readiness classification

Turn a long AI response into an actionable next-step signal.

Blocking vs. non-blocking questions

Prevent useful but optional considerations from automatically stopping implementation.

Product + QA perspectives

Requirements affect both product intent and testability, so the analysis should represent both.

Separate Product and QA tabs

Reduce information overload and make each perspective easier to scan.

Structured outputs

Keep responses predictable enough for a usable product interface.

Human review

LLM judgments can vary, so ProductQA should support — not replace — team decisions.

07

Evaluation changed the product

Building the feature wasn't enough

Initial testing exposed a problem: the model could be overly conservative. Some requirements were classified as NEEDS CLARIFICATION because additional information could be useful — even when the explicitly requested behavior could already be implemented and tested.

“What actually makes a clarification blocking?”

Decision principle

“Can the explicitly requested behavior be implemented and reliably tested without knowing the answer?”

If yes

The question may still be useful, but shouldn't automatically block readiness.

If no

It is a legitimate blocking clarification.

Evaluation approach

I created a small synthetic evaluation suite containing requirements with different levels of clarity and expected readiness classifications. The tests helped expose:

  • Over-conservative classifications
  • Ambiguous distinction between useful and blocking questions
  • LLM variability between runs
  • Keyword-based false positives / negatives

I then iterated on the prompt and readiness logic based on those failures.

Key learning

“For AI products, generating a plausible answer is not the same as generating a reliable product decision.”

08

Architecture

  1. User
  2. Streamlit UI / CLI
  3. ProductQA Agent
  4. Gemini API ↔ Requirement Quality Tool
  5. Pydantic Structured Output
  6. Readiness + Product Analysis + QA Analysis
  7. Human Review
PythonGemini APIPydanticStreamlitCustom Tool Calling

The implementation separates the interface, agent orchestration, structured data models, deterministic requirement checks, and evaluation logic to keep the MVP modular and easier to iterate.

09

Success metrics

How I would measure ProductQA after deployment

The MVP has not yet been deployed to real Product/QA teams, so these are proposed success metrics rather than observed outcomes.

North-star direction

Useful Requirement Review Rate

Percentage of analyses where users indicate that ProductQA surfaced at least one useful consideration or correctly confirmed readiness.

Adoption

  • Requirements analyzed
  • Repeat users
  • Analyses per active user

Usefulness

  • % analyses marked helpful
  • % blocking clarifications accepted by users
  • % generated questions dismissed as irrelevant

Reliability

  • Readiness agreement between ProductQA and human reviewers
  • Classification consistency across repeated evaluations
  • False-blocking rate — excessive blocking reduces usefulness

Efficiency

  • Time spent reviewing requirements before vs. after ProductQA
10

Current limitations

Shared deliberately, to be transparent about where the current MVP stands.

LLM Variability

The same requirement may occasionally receive different readiness judgments across runs.

Over-conservative readiness

The model can still treat useful implementation details as blockers.

Keyword-based checks

The deterministic tool currently relies on keyword signals and can produce false positives or miss contextual meaning.

Limited product context

ProductQA evaluates the supplied requirement without understanding the team's full product, architecture, historical decisions, or organization-specific conventions.

Small evaluation dataset

The current synthetic suite is useful for development but isn't sufficient to establish production-level reliability.
11

Future roadmap

Ideas for future iterations — not features that exist today.

  1. 1

    Evaluation expansion

    Build a larger labeled dataset and measure readiness classification against human judgments.

  2. 2

    Feedback loop

    Capture whether users accepted or rejected suggestions to improve evaluation and future iterations.

  3. 3

    Context-aware requirement analysis

    Allow teams to provide related requirements, product rules, and supporting documentation.

  4. 4

    Requirement refinement

    Allow users to convert accepted clarifications into an improved requirement.

  5. 5

    Workflow integrations

    Explore Jira / Linear integrations after validating standalone usage.

12

Reflection

What I learned

ProductQA started as an attempt to use AI for a problem I had repeatedly encountered in Product–QA workflows. Building the MVP shifted my thinking from:

“What can the model generate?”
“What decisions should the product help the user make?”

The hardest part wasn't generating test scenarios or clarifying questions. It was deciding when missing information was important enough to block implementation. Evaluating those decisions exposed inconsistencies, which led me to refine the readiness framework rather than simply add more features.

“AI output needs evaluation, not just prompting.”
“A useful question isn't necessarily a blocking question.”
“AI should support human judgment when context and consequences matter.”

Explore the Build

View GitHub Repository →

ProductQA Copilot is an independently built MVP exploring AI-assisted requirement analysis. The current version is intended for experimentation and human decision support rather than automated requirement approval.