AI QA receipts for product surfaces
AI-generated work needs inspectable receipts for routes, states, metadata, visuals, accessibility, and live deployment.
AI-generated work needs receipts.
Not because the tool is untrustworthy by default, but because speed changes the failure mode. A generated screen can look complete while missing a failure state. A generated article can route correctly while lacking metadata. A generated refactor can compile while removing the recovery path. A generated migration can exist while the live site still serves stale content.
A QA receipt turns the work back into evidence. It says what was checked, where it was checked, what failed, what changed, and what remains risky.
This is especially important on a candidate site. The work should show that I can move quickly with AI and still verify like someone who owns the result.
Route, component, article, migration, image, resource, or workflow.
Build, browser, screenshot, metadata, link, keyboard path, or live route.
Status code, title, figure count, resource links, OG image, or visual state.
Write the QA target before checking
The receipt should begin with the promise being tested. Otherwise QA becomes a pile of disconnected commands.
I would pressure-test that decision with four questions:
- What should be true?
- Which user path matters?
- Which generated artifact is risky?
- What would count as failure?
The failure mode here is running checks without naming what they prove. In AI-assisted product work where screenshots, route checks, missing states, accessibility, SEO, and release notes need inspectable proof, that can hide the exact boundary a reviewer or teammate needs to understand. My working artifact would be a QA target statement at the top of the receipt. I want it close enough to the implementation that it can change the work, not created afterward to decorate the story.
The result I would look for is a verification pass that maps to product intent. That is a narrower claim than saying the whole system improved, but it is also one I can verify and defend.
In practice, I would put a QA target statement at the top of the receipt beside the question “What should be true?” before the first implementation review. The next pass would use “Which user path matters?” to test the boundary, then “Which generated artifact is risky?” to expose the state most likely to be missed. I would keep “What would count as failure?” for the release check because it asks whether the decision still holds outside the ideal path. The work is ready to move when the artifact can explain the choice and the observed result supports a verification pass that maps to product intent.
Inspect generated files
AI-assisted work often creates source files, generated assets, and migrations. The receipt should verify all of them.
The practical review starts here:
- Which source files changed?
- Which assets generated?
- Which migration exists?
- Which files are unexpected?
Those questions keep assuming the generator produced every needed artifact from becoming the default. I would capture the decision in a generated-file checklist with counts and paths, then use it while the work is still cheap to change. For AI-assisted product QA, the artifact should make ownership, constraint, and next action visible without requiring a private explanation.
Success would look like a PR with fewer missing-file surprises. If I cannot point to that evidence, I have a direction, not a finished decision.
The implementation move is to make a generated-file checklist with counts and paths part of the working surface. I would use it to answer “Which source files changed?” while scope is still flexible, and “Which assets generated?” before code or content becomes expensive to unwind. During QA, “Which migration exists?” and “Which files are unexpected?” become concrete checks rather than discussion prompts. That sequence turns AI-assisted product QA into something the team can operate and gives me a specific outcome to report: a PR with fewer missing-file surprises.
The expected route, content, action, and completion state.
Long content, missing data, mobile layout, restricted role, failure, or stale state.
Production URL, index link, asset URL, schema, sitemap, and cache behavior.
Open the route, not only the diff
A rendered route catches problems the diff cannot. The receipt should include at least one real route check.
Before implementation, I would answer:
- Does the route return 200?
- Does the title match?
- Are visuals present?
- Do related links render?
The artifact is a route receipt with URL, status, title, figures, and resource links. Its job is to expose the tradeoff early enough that design, engineering, support, or product can disagree with something concrete. The common trap is reviewing UI or content only in source form; it moves uncertainty downstream and makes the final interface carry a problem the system never resolved.
For me, the useful receipt is confidence that the product surface exists. That connects QA receipts as the human evidence layer around AI-generated implementation to an observable result instead of a process claim.
I would test this with one typical case and one boundary case. The typical case should make “Does the route return 200?” easy to answer. The boundary should force a decision about “Does the title match?” and “Are visuals present?.” I would record both in a route receipt with URL, status, title, figures, and resource links, including the part that stayed unresolved after the first pass. The final check, “Do related links render?,” is where the artifact earns its place: it either supports confidence that the product surface exists, or it shows exactly why another iteration is needed.
Check mobile pressure
AI-generated layouts can look fine at desktop and break on mobile. Mobile needs a specific receipt.
I would use these prompts during the working review:
- Does text wrap?
- Do controls fit?
- Do figures overflow?
- Does sticky UI cover content?
If the team slips into assuming responsive behavior because CSS compiled, the product can still look complete while its operating rule stays ambiguous. I would make a mobile viewport note with the state checked the shared reference and keep it small enough to update as evidence changes.
The standard is a surface that survives the small screen. That tells me whether the decision helped the product, not merely whether the document was completed.
The working sequence is small: draft a mobile viewport note with the state checked, review it against “Does text wrap?,” implement the narrowest useful path, and then return with evidence for “Do controls fit?.” I would use “Do figures overflow?” to inspect product consequence and “Does sticky UI cover content?” to decide whether the result is stable enough to ship. This keeps assuming responsive behavior because CSS compiled visible as a known risk and makes a surface that survives the small screen the release receipt rather than a hopeful conclusion.
Design tokens, component conventions, routing, metadata, and content model.
Accessibility, state coverage, stale data, missing asset, or unsupported browser path.
Patch, regenerate, document, defer, or rollback.
Verify metadata and sharing
For journal and portfolio content, metadata is product polish. The receipt should check title, description, OG image, and schema.
I would pressure-test that decision with four questions:
- Is the title specific?
- Is the description role-forward?
- Does the OG image exist?
- Does schema render?
The failure mode here is publishing content that shares like a draft. In AI-assisted product work where screenshots, route checks, missing states, accessibility, SEO, and release notes need inspectable proof, that can hide the exact boundary a reviewer or teammate needs to understand. My working artifact would be an SEO receipt with metadata and asset status. I want it close enough to the implementation that it can change the work, not created afterward to decorate the story.
The result I would look for is a more credible candidate site. That is a narrower claim than saying the whole system improved, but it is also one I can verify and defend.
In practice, I would put an SEO receipt with metadata and asset status beside the question “Is the title specific?” before the first implementation review. The next pass would use “Is the description role-forward?” to test the boundary, then “Does the OG image exist?” to expose the state most likely to be missed. I would keep “Does schema render?” for the release check because it asks whether the decision still holds outside the ideal path. The work is ready to move when the artifact can explain the choice and the observed result supports a more credible candidate site.
Ask for a failure-mode review
A second pass should look for what the builder missed: missing states, bad assumptions, inaccessible paths, and product drift.
The practical review starts here:
- What state is absent?
- What data assumption is hidden?
- What copy is generic?
- What local pattern was ignored?
Those questions keep using AI review only to praise or summarize from becoming the default. I would capture the decision in a failure-mode finding list with location, impact, and fix, then use it while the work is still cheap to change. For AI-assisted product QA, the artifact should make ownership, constraint, and next action visible without requiring a private explanation.
Success would look like a stronger correction loop. If I cannot point to that evidence, I have a direction, not a finished decision.
The implementation move is to make a failure-mode finding list with location, impact, and fix part of the working surface. I would use it to answer “What state is absent?” while scope is still flexible, and “What data assumption is hidden?” before code or content becomes expensive to unwind. During QA, “What copy is generic?” and “What local pattern was ignored?” become concrete checks rather than discussion prompts. That sequence turns AI-assisted product QA into something the team can operate and gives me a specific outcome to report: a stronger correction loop.
Separate fixed from deferred
Not every issue needs to block the PR, but every real issue needs a decision.
Before implementation, I would answer:
- What was fixed?
- What was accepted?
- What was deferred?
- What is intentionally out of scope?
The artifact is a disposition table for QA findings. Its job is to expose the tradeoff early enough that design, engineering, support, or product can disagree with something concrete. The common trap is letting comments disappear without a decision; it moves uncertainty downstream and makes the final interface carry a problem the system never resolved.
For me, the useful receipt is a review trail that remains accountable. That connects QA receipts as the human evidence layer around AI-generated implementation to an observable result instead of a process claim.
I would test this with one typical case and one boundary case. The typical case should make “What was fixed?” easy to answer. The boundary should force a decision about “What was accepted?” and “What was deferred?.” I would record both in a disposition table for QA findings, including the part that stayed unresolved after the first pass. The final check, “What is intentionally out of scope?,” is where the artifact earns its place: it either supports a review trail that remains accountable, or it shows exactly why another iteration is needed.
Include live QA after merge
The production site is the real artifact. Live QA should confirm that the merged code has actually deployed.
I would use these prompts during the working review:
- Does production return 200?
- Does the index show the new page?
- Does the OG image return 200?
- Is the title correct?
If the team slips into stopping at merge and assuming deployment happened, the product can still look complete while its operating rule stays ambiguous. I would make a live QA script or note after deploy the shared reference and keep it small enough to update as evidence changes.
The standard is evidence that users can reach the work. That tells me whether the decision helped the product, not merely whether the document was completed.
The working sequence is small: draft a live QA script or note after deploy, review it against “Does production return 200?,” implement the narrowest useful path, and then return with evidence for “Does the index show the new page?.” I would use “Does the OG image return 200?” to inspect product consequence and “Is the title correct?” to decide whether the result is stable enough to ship. This keeps stopping at merge and assuming deployment happened visible as a known risk and makes evidence that users can reach the work the release receipt rather than a hopeful conclusion.
Make receipts lightweight
Receipts should be small enough to repeat every time. The goal is proof, not ceremony.
I would pressure-test that decision with four questions:
- Which checks always apply?
- Which checks are task-specific?
- Which output is enough?
- What can be automated?
The failure mode here is creating a process so heavy the team avoids it. In AI-assisted product work where screenshots, route checks, missing states, accessibility, SEO, and release notes need inspectable proof, that can hide the exact boundary a reviewer or teammate needs to understand. My working artifact would be a reusable QA receipt with short fields. I want it close enough to the implementation that it can change the work, not created afterward to decorate the story.
The result I would look for is verification that scales with speed. That is a narrower claim than saying the whole system improved, but it is also one I can verify and defend.
In practice, I would put a reusable QA receipt with short fields beside the question “Which checks always apply?” before the first implementation review. The next pass would use “Which checks are task-specific?” to test the boundary, then “Which output is enough?” to expose the state most likely to be missed. I would keep “What can be automated?” for the release check because it asks whether the decision still holds outside the ideal path. The work is ready to move when the artifact can explain the choice and the observed result supports verification that scales with speed.
Show QA receipts in portfolio work
QA receipts are not glamorous, but they are strong candidate evidence because they show ownership after generation.
The practical review starts here:
- What did AI produce?
- What did I verify?
- What issue did I catch?
- What proof survived live deploy?
Those questions keep claiming AI productivity without showing quality control from becoming the default. I would capture the decision in a case-study receipt showing prompt, route, issue, fix, and live check, then use it while the work is still cheap to change. For AI-assisted product QA, the artifact should make ownership, constraint, and next action visible without requiring a private explanation.
Success would look like a portfolio that proves modern engineering discipline. If I cannot point to that evidence, I have a direction, not a finished decision.
The implementation move is to make a case-study receipt showing prompt, route, issue, fix, and live check part of the working surface. I would use it to answer “What did AI produce?” while scope is still flexible, and “What did I verify?” before code or content becomes expensive to unwind. During QA, “What issue did I catch?” and “What proof survived live deploy?” become concrete checks rather than discussion prompts. That sequence turns AI-assisted product QA into something the team can operate and gives me a specific outcome to report: a portfolio that proves modern engineering discipline.
What I would show in the work
The public version needs evidence from the work itself. For this topic, the first five artifacts I would reach for are:
- a QA target statement at the top of the receipt
- a generated-file checklist with counts and paths
- a route receipt with URL, status, title, figures, and resource links
- a mobile viewport note with the state checked
- an SEO receipt with metadata and asset status
I would not publish all five at equal weight. One should orient the reader, one should reveal the hardest tradeoff, and one should prove the result. The others can live in a downloadable note or appear as supporting frames. That edit matters because QA receipts as the human evidence layer around AI-generated implementation becomes harder to understand when every process detail is treated as equally important.
I would also show one rejected direction. The useful version is specific: which option looked attractive, which constraint made it wrong, and what evidence supported the narrower choice. That gives an engineering manager something real to question and keeps the case study from reading like the final answer was obvious from the beginning.
Build, SEO assert, test, route script, image check, or migration sanity.
Local route, preview route, production route, or OG asset.
Status, title, count, screenshot, or specific UI state.
Resource path
The practical follow-up I would build is an AI QA receipt template with route, viewport, state, issue, fix, command, screenshot, and live check fields. I am treating that as a resource backlog item, not pretending the adjacent downloads below are the same artifact. The related cards cover useful pieces of the workflow today; this specific file should only be published when its examples, fields, and instructions are complete.
The first version should stay concise: context, constraint, decision, evidence, owner, and follow-up. Its value would come from helping someone repeat this exact review, not from adding another generic PDF to the site.
Review checklist
The article-specific review questions are:
- What should be true?
- Which source files changed?
- Does the route return 200?
- Does text wrap?
- Is the title specific?
- What state is absent?
- What was fixed?
- Does production return 200?
- Which checks always apply?
- What did AI produce?
I would add two editorial checks before publishing: can a recruiter find the point in the first minute, and can an engineer trace at least one claim to an implementation or production receipt? If either answer is no, the article needs another edit.
Implementation notes
For AI-assisted product QA, I would write the implementation note before polish. It would name the changed surface, source of truth, owner, failure boundary, and verification path. Those details prevent the principle from floating above the actual code or operational workflow.
The proof signals I care about are specific to this article:
- a stronger correction loop
- a review trail that remains accountable
- evidence that users can reach the work
- verification that scales with speed
- a portfolio that proves modern engineering discipline
I would choose two or three of those signals for the first release rather than instrumenting everything. The strongest pair usually combines one direct behavior check with one operating check: a route and a data query, a keyboard path and a support state, a handler replay and a reconciliation result, or a migration count and a rendered screen.
The follow-up belongs in the note before shipping. It should say what remains temporary, what evidence would trigger another pass, and who owns that decision. That is how the first version stays intentionally narrow without making the boundary invisible.
Case-study packaging
I would structure the case-study version around the four visual lessons already established:
- A QA receipt connects artifact, check, issue, and proof.
- Product QA should include states, not only pages.
- AI QA should ask what generated output is likely to miss.
- A useful receipt lets another person repeat the proof.
The opening frame explains the product pressure. The middle two show the decision moving through the system. The last frame is the receipt: what was checked, what held, and what remained unresolved. That order lets the reader move from product judgment into implementation detail without reconstructing the whole project first.
I would include one caveat tied to AI-assisted product work where screenshots, route checks, missing states, accessibility, SEO, and release notes need inspectable proof: a data limit, rollout boundary, unsupported state, external dependency, or result that is still directional. A precise caveat makes the evidence easier to trust because it shows where the claim stops.
The final test is whether the page creates a better conversation. If the artifact helps someone ask a sharper question about product judgment, implementation detail, or release proof in a live interview, it belongs in the story.
Interview angle
In an interview, I would explain this through QA receipts as the human evidence layer around AI-generated implementation. The story should start with the product pressure, then move into the system constraint, the artifact, and the proof. That order keeps the answer grounded. It also gives the interviewer several places to go deeper: data, frontend architecture, design systems, support, migration, accessibility, or release process.
The strongest version of the answer includes a tradeoff. I want to be able to say what I chose, what I left alone, and how I knew the work helped. That is more credible than presenting every project as a clean win.
The hiring signal
AI QA receipts are a hiring signal because they show I can use automation while still proving the product surface with human-readable evidence.
That is the level I want this site to communicate. The work should show taste, but it should also show operating judgment. It should make me look like someone who can enter a real product system, understand the messy middle, ship the useful version, and leave enough proof for the next person to trust it.
Use this after reading.
Practical downloads and templates that turn the article into something you can bring into a product review, implementation pass, or agent workflow.
UI PR Risk Review Checklist
A merge-readiness checklist for product intent, states, accessibility, visual durability, and UI implementation risk.
Prompt Library for UI Critique
Reusable prompts for pressure-testing layout, copy, hierarchy, accessibility, interaction states, and implementation risk.
AI Product Sprint Checklist
A practical sprint checklist for using AI across discovery, UX, implementation, and verification without skipping product judgment.