MatrixQA

Early accessAgentic quality assurance

Your agents write the code.
Who tests the app?

MatrixQA boots the app behind your PR in a sandbox and puts an agent team on it in a real browser.

Evidence on every issue. An adversarial audit before anything ships.

InvoiceShelf/InvoiceShelf · Run #136 scenarios × verdict
passedfound a defectwithdrawn by the Critic46 findings · 5 withdrawn · 41 issues

00One Run, four stages

InvoiceShelf/InvoiceShelf · Run #1 · 36 scenarios · 41 issuespublished

#1Explore

/admin/dashboard
/admin/customers
/admin/estimates/1/view

47 pages · 18 forms mapped

#2Plan

S03protected-route enforcementP0
S17payment mode persistedP0

36 scenarios · deterministic

#3Test

S17 · running17 / 36

15 passed · 21 failed

#4Critique

S31backup download 500sCONFIRMED ✓
S15date filter deadWITHDRAWN

46 findings · 5 withdrawn

01Control

Spend stays under your control.

MatrixQA checks whether your app is testable before it boots anything, hard-stops at the cap you set, and lets you end a Run while it is still going.

Run controlsBudget cap (USD)spent / capStopForce-stop
Completed

mdn/todo-react · Run #4

12 scenarios · 10 passed · 2 failed · 2 issues

$0.36
Rejected

PHP repository

Suitability Check refused it before boot, in 2 seconds

no charge
Interrupted

Stopped by the operator

Stop after Explore, or Force-stop a running job

$0.05 · $0.009

Recorded Run examples. Actual spend varies by app and Plan.

  1. 01

    Checked before it costs you

    The Suitability Check reads the repo first. An app MatrixQA cannot boot is turned away in seconds, before any model is called.

  2. 02

    A cap you set

    Every Run carries a budget cap in dollars. The Run stops itself when it reaches that number.

  3. 03

    Spend you can watch

    Cost accrues live next to the stage timeline, so a Run is never a surprise on an invoice.

  4. 04

    A way out, mid-Run

    Stop ends the Run cleanly. Force-stop cancels the job outright when you need it gone now.

02Why MatrixQA

QA is not code review.

AI code review reads your diff and comments on your code. MatrixQA uses the product your users get. They catch different failure modes, which is exactly why you want both on every pull request.

Code review tools

Read your code

MatrixQA

Uses your app

Reads the static diff, line by line
Boots the app behind the change and drives it in a real browser
Flags risky patterns in the code you changed
Finds reproducible defects in the flows your users actually run
Leaves comments on the pull request
Files evidence-backed issue reports, with screenshots and repro steps on every one
Done when the diff looks right
Done when the running product survives an adversarial audit

The missing layer. Keep your review bot for the diff. MatrixQA is what runs after the code looks right: the layer that checks the shipped product still works.

03#1 Discover and replay

It learns your app, then keeps the plan.

Point MatrixQA at a PR or commit. Agents browse the running app on their own, with no sitemap and no scripts, and turn what they find into a deterministic test Plan that the next Run can reuse.

/installation/admin/customers/admin/dashboard/admin/estimates/admin/items/admin/estimates/1/viewAppMap · 47 pages · 18 forms discovered
mdn/todo-react · stored Plan · 12 scenariosdeterministic
New planReuse latest planreplays against the commit you pick
S01Create a new task successfullyP0
S04Delete a task from the listP0
S06Filter tasks by Active and CompletedP1
+S05Add an empty or whitespace-only taskP0
+S08Save an empty name when editingP1

Run #4 on this Plan: 10 passed · 2 failed · 2 issues · $0.36

  1. 01

    Boots from any PR or commit

    The Runner clones your repo and starts the app in a fresh sandbox, then destroys it when the Run ends.

  2. 02

    Explores on its own

    Agents browse pages, fill forms, and trigger actions with zero configuration, and the AppMap records everything they reach.

  3. 03

    Deterministic by design

    The Plan is prioritized scenarios you can read and diff like code, and the same Plan replays against any SHA.

  4. 04

    Yours to choose, every Run

    Reuse the latest Plan for comparable regression coverage, or write a new one when the app has moved on.

04#2 Test and audit

A real browser, then an adversarial audit.

Scenarios fan out across parallel agents driving a real browser. Before anything reaches your report, a Critic re-runs every high-impact finding and tries to break it.

localhost:8090/admin/estimates/create
Acme Test Customer
Save estimate
agent-1
S17
agent-2
S27
agent-3
S31

3 agents in parallel · every step screenshotted

FINDING S31CRITICAL→ re-verified live →CONFIRMED ✓

Backup download returns HTTP 500, so no backup can ever be retrieved

reproduced twice on two separate backups · server log captured

FINDING S15MEDIUM→ re-verified live →WITHDRAWN

Date-range filter is non-functional

the filter works with a complete range · kept visible in the report

On this Run the Critic reviewed 46 findings and withdrew 5.

  1. 01

    Behaves like a user

    Clicks, types, uploads, and navigates the real UI, not a simulated DOM.

  2. 02

    Evidence on every issue

    Screenshots of the moment it broke, console traces, and step-by-step reproduction.

  3. 03

    Re-verified live

    High-impact findings are re-run against the app before they ship as Issues.

  4. 04

    Withdrawn stays visible

    False positives are withdrawn on the record, never silently dropped, so you can check the audit instead of trusting it.

05#3 Share and choose

Private until you publish.

Every Run finalizes into a private, evidence-backed report. Publish it and the full record goes live on Explore. The model behind it is your call.

Run #1 · report private
2 critical6 high22 medium11 low5 withdrawn
Publishmatrixqa.app/r/InvoiceShelf/InvoiceShelf/runs/1

screenshots are served through signed URLs while the Run is private

Gemini balancedon Vertex AI
Gemini faston Vertex AI
Claudeorchestrator profile
OpenAIyour key
OpenRouteryour key

swap the model profile · the pipeline stays the same

  1. 01

    Private by default

    Finalized Runs are visible to you until you decide otherwise, with screenshots served through signed URLs.

  2. 02

    Publish when you choose

    One action puts the full record on the public Explore page, as a link anyone can read.

  3. 03

    The whole record, verdicts included

    Issues, screenshots, and the findings the Critic withdrew. Security issues publish as a summary, so a fix can land before the details do.

  4. 04

    The model is your call

    Gemini on Vertex AI by default, or bring your own key for OpenAI, Anthropic, OpenRouter, or any OpenAI-compatible endpoint. Keys are stored in Secret Manager.

06Traceable numbers

Numbers you can trace back to a Run.

63
QA runs executed across benchmark and platform campaigns
39
real applications put under test
111
confirmed defects in published runs alone
13
critical vulnerabilities uncovered, incl. auth bypasses

Outperforms the published state of the art on the WebTestBench benchmark: 36.7% vs 26.4% macro F1*

And calibrated, not trigger-happy: 6 criticals on a deliberately buggy app, 0 on a mature product, 2 real ones in between. The finding rate tracks reality.

* Held-out macro F1 versus the strongest published result. Above the published best, not statistically separable. Audited precision 100% on every app where MatrixQA raised an alarm.

07FAQ

Questions, answered.

01What does MatrixQA test?

The running application, not the code in isolation. Agents boot the app behind your PR or commit and test it through a real browser: flows, forms, edge cases, and regressions.

02How do I trigger a Run?

Like a GitHub Actions workflow: automatically on a pull request, or dispatched manually against any PR or any commit. Every Run records the exact SHA it tested and the PR when one exists.

03What repos are supported?

Node and Python fullstack apps that boot without external services. Connect a public GitHub repo and MatrixQA takes it from PR to audited report.

04Is my code kept?

No. Each Run executes in an isolated sandbox that is destroyed when the Run finishes. Only the Run's artifacts (report, issues, screenshots) persist, and they stay private unless you publish them.

05What if MatrixQA cannot run our app?

The Suitability Check reads the repository before anything boots. Stacks MatrixQA cannot start, such as an app that needs external services it has no access to, are turned away in seconds, and a rejected Run costs nothing.

06How is it priced?

MatrixQA is in early access, so we onboard teams directly with pricing matched to usage. Spend is not open-ended: every Run carries a budget cap you set, the Run hard-stops there, and live cost is visible while it runs.

08Early access

Put an agent team on your next pull request.

Connect a repo, dispatch a Run, and read an audited, evidence-backed report the same day.

Or write to contact@matrixlabs.org