Run UAT without a spreadsheet

Give testers a button on the page instead of a shared spreadsheet. Every report arrives with the page, the browser, a severity, and — if the tester attached one — a picture of the screen, and lands in your tracker as a real issue.

User acceptance testing usually fails for logistical reasons rather than technical ones. Testers are given a spreadsheet, a deadline, and no easy way to say "this is broken" at the moment they notice it. By the time they get to the spreadsheet, they have lost the URL, the exact wording, and half the reproduction steps.

A feedback button on the page collapses that gap to one click. The report is written where the problem is, and the context comes along for free.

Set it up for a test cycle

Create a project for the environment under test and allow its origin — including a wildcard for preview deployments so every build is covered without reconfiguration.

Severity is built in — a 1-to-5 picker from Cosmetic to Critical — so the field a UAT round usually needs first is already there. Add the two or three custom fields on top of it that your triage actually depends on: an area-of-the-app dropdown, a build number, a test-case reference.

Give testers one instruction

Not "log it in the sheet with the URL and your browser version". Just: click the tab, say how bad it is, describe what happened, press send. Everything you would otherwise ask them to copy down is captured automatically.

Tell them about the screenshot button, because it is the one thing that needs a deliberate press. It takes a single still image of the page they are on, blanks every form field before it does, and shows it to them before it goes anywhere.

Triage in the tracker, not in a second tool

Reports arrive in GitHub or Jira already labelled and formatted. Your triage is the triage you already do, on the board you already use — not a separate queue somebody has to remember to check.

Turn it off when the cycle ends

Pause the project and the widget stops rendering everywhere it is installed, immediately, with no deploy. Turn it back on for the next round.

Frequently asked

Can we scope the widget to a staging site only?
Yes. Allowed origins are per project, so a project that lists only your staging origin will not render on production even if the snippet is present in shared code.
Do testers need an account?
No. The widget requires no login. Accounts exist only for the people who read and triage the reports.
Can we require a severity on every report?
The built-in severity picker is optional by design — a required field is a reason to abandon a form mid-report. If your process genuinely cannot accept a blank, add a required select field alongside it; required custom fields are enforced on the server, not just in the browser.