QA Wolf vs QA Reef: the architecture, in depth
How the two tools find things to click, decide what a failure means, and where the code runs. For the shorter feature checklist, see the compare page.
Researched 2026-08-28 from public sources; verify current details at qawolf.com.
TL;DR
QA Wolf: mature, closed "coverage as a service" — DOM recorder, closed Mapping/Automation AI, hosted Kubernetes grid, human QA verification.
QA Reef: pre-launch, open-core — MIT automation core, OCR-driven operator, every model decision cost-logged. No hosted grid, mobile, or human verification yet.
Pick QA Wolf for a managed service today; pick QA Reef to self-host and own the code.
Approach: recorder + closed agents, vs. OCR + a cheap model
QA Wolf's Mapping AI builds a test from a recorded session; Automation AI writes Playwright code from a prompt. Both work against the DOM. A separate coordinate-based "Runner" in the CLI's Agent Skill takes on-demand screenshots with no continuously-running hosted vision model — an external agent decides the action. Sources: qawolf.com/blog, @qawolf/cli npm package skill docs.
QA Reef's Operator is a single loop, open in packages/core:
- Look — tile the screenshot, OCR each tile (Apple Vision or a vision-model adapter), merge detections.
- Decide — a cheap text model picks the next visible label, stamped
decided_bywith model id and cost. - Act — move the mouse on a curved, jittered path; click or type.
Built for what QA Wolf's DOM-first recorder can't reach: canvas maps, third-party embeds, internal tools with no data-testid. Once a flow works, QA Reef generates ordinary Playwright locator code — OCR only runs during mapping, not at test time.
Evidence and verdicts
QA Wolf's stated differentiator is human verification — a QA engineer confirms a failure before it's reported, which is how it markets "zero flakes." That's a guarantee about human review, not the automated check itself. Source: qawolf.com/service.
QA Reef adds a third machine-reported state instead: PASS, FAIL, or UNMEASURED — a check that never got a clean look (page didn't load, drifted viewport, an unresolved network hop) never silently collapses into a false FAIL. It's a machine-side invariant, not a human-review promise — background in the blog post.
QA Reef also tests dark controls as a first-class pattern: for any gate (paywall, permission check, feature flag), the suite verifies the negative half too — that it renders nothing for someone who shouldn't see it. No public QA Wolf material describes an equivalent pattern; this is QA Reef-specific, not a claim about QA Wolf.
Hosting
QA Wolf's self-serve flows run on a pre-warmed Kubernetes runner grid — one container per test, autoscaled. Source: qawolf.com/blog. QA Reef has no hosted grid today: it runs locally, in your CI, or wherever you self-host — you supply the compute.
Open-core
QA Wolf's open layer is narrow: Playwright/Appium underneath, plus its own @qawolf/flows (MIT) and @qawolf/cli (Apache-2.0) — verified end-to-end offline. The platform (Mapping AI, Automation AI, runner grid, human service) is closed. QA Reef's automation core (runtime, operator, LLM adapter, evidence storage) is MIT, built in the open under packages/core — not just the transport layer. Full detail: the open-source QA Wolf alternative page.
An honest review of QA Wolf, sourced
What QA Wolf gets right, per its own public materials:
- A real hosted execution grid — removes the "who runs the tests" problem.
- Mobile testing via Appium, which QA Reef doesn't have.
- Dedicated human QA engineers who reproduce and verify failures — genuinely hard and expensive to offer.
Founded 2019, Seattle; exited stealth 2022; $20M Series A and $36M Series B — a funded, multi-year product.
What's undocumented or closed: per-call model attribution/cost (billed as opaque "AI credit"), Coverage as a Service pricing, and any third verdict state beyond pass/fail — reflecting a managed-service model where the human layer is the product. Read the full alternative writeup for who's a better fit.
Source table
| Claim | Source | Accessed |
|---|---|---|
| Mapping AI / Automation AI, DOM-based diagnosis | qawolf.com/blog | 2026-08-28 |
| Self-healing evaluates DOM diffs, network traces, console errors, fixture state | qawolf.com/blog | 2026-08-28 |
| Coverage as a Service, human verification, "zero flakes" | qawolf.com/service | 2026-08-28 |
| Kubernetes runner grid, autoscaling | qawolf.com/blog | 2026-08-28 |
| Mobile testing via Appium | github.com/qawolf, qawolf.com/blog | 2026-08-28 |
| Self-serve pricing (1¢/AI credit, 15¢/runner-minute) | qawolf.com/pricing | 2026-08-28 |
| Founding (2019, Seattle), stealth exit (2022) | TechCrunch, 2022 | 2026-08-28 |
| Funding ($20M Series A, $36M Series B) | TechCrunch, 2024 | 2026-08-28 |
| Third-party contract/ARR estimates (unverified) | sacra.com/c/qa-wolf | 2026-08-28 |
| @qawolf/cli Apache-2.0, @qawolf/flows MIT, offline local execution | Verified directly against the published npm packages — see vendor/QAWOLF-OSS.md in this repo | 2026-08-28 |
Want the shorter version?
Pricing, company background, and a breadth-first feature table live on the main compare page.
See the compare page →