The QA engine for the AI age · open-source core

Paste a URL. We drive it. You get a flow.

AI writes far more code, far faster, so the bottleneck is verification. QA Reef records a real browser workflow once, then runs that same flow four ways.

Free plan: 500 browser-minutes a month and $20 in signup credit · no card · nothing to install on your site.

Built on · works with (no customer logos yet, we're pre-launch) PlaywrightChromiumChromeCamoufoxApple Vision OCROpenRouterDeepSeekGitHub
Demos

Watch the agent drive

Six things QA Reef does, playing out on a mock app. Not a video: the page is driving itself.

You drive once. It records every action and writes the Playwright.

QA Reef · Tidepool Hotels workspace

Recorded steps

    Waiting for the agent…

    staging.tidepool-hotels.app/search
    LIVE
    City
    Check-in
    Check-out
    Guests
    reef agent
    Reading the screen…
    Screenshot per step
    Trace recording on
    decided_by deepseek/deepseek-chat · $0.0007
    How it works

    Record it once. Then talk to the agent about scaling it.

    A recording is the start of a conversation, not a finished artifact. You teach it the way you would teach a person: show it once, answer its questions, and it remembers.

    Paste a URL

    A hosted browser opens it. Drive it yourself, or give the agent a goal and let it drive by reading the screen.

    It becomes a flow

    Every click and keystroke keeps a durable locator with a live uniqueness count, its alternates and a screenshot. Iframes and shadow DOM included; generated ids rejected.

    Scale it with the agent

    Parameterize what you typed and let the agent propose a suite grounded in what it saw, inside a budget you set, not by rewriting selectors.

    Deploy it

    qareef deploy fans the flows out on the hosted runner and rolls the results up. PASS, FAIL or UNMEASURED, never a forced false fail.

    Pick a run mode

    The same flow is a test, a per-row data-entry job, a scheduled scraper or an API. Nothing is re-recorded to switch.

    The CLI is the primary interface and never launches a browser on your machine. See the platform →

    Four faces

    Same flow. Four ways to run it.

    QA is the entry point, not the ceiling. If a person can do it in a browser, a flow can do it on request.

    Run it as a test

    Deploy the tree, fan the flows out on the hosted runner, roll the results up. A failure files a bug with the evidence attached.

    • Exit code 1 fails your CI job
    • PASS / FAIL / UNMEASURED, never a forced false fail
    • Model-proposed heals are quarantined for review

    Run it once per row

    Parameterize what you typed and the flow becomes a bulk data-entry job over your spreadsheet.

    • A verdict, a screenshot and a trace per row
    • Filing, migrations, bulk updates in a legacy admin
    • Paced and queued, not blasted in parallel

    Run it on a schedule

    Point the flow at a target list or an interval and let it accumulate a dataset for weeks.

    • Every row keeps the page it was read from
    • flow_version tells a data change from a code change
    • An unread page is UNMEASURED, never a plausible blank

    Run it as an API

    The flow declares its inputs and outputs, then answers on request. A site with no API gets one.

    • Inputs like {account} become request parameters
    • Structured output, plus the evidence it came from
    • Heal tiers off in API mode: a paid endpoint must be deterministic

    Most of this lands on systems that never had an API: county portals, framed ERPs, vendor back-offices. There is no integration to buy, but there is a screen, and QA Reef reads screens. Legacy system automation →

    CAPTCHA handling for the app you own, gated on your authorization. Never on sites you don't control.

    Capabilities

    Built for the UIs other tools give up on

    Anywhere the DOM churns but a human eye still knows exactly what to click.

    app.floorline.dev/plans/lobby
    Quiet zone Reception

    Drawing zones on a canvas, verified by what's on screen

    Canvas apps

    Whiteboards, diagram editors and floor-plan tools render into one <canvas>, leaving nothing for a selector to grab. It finds the tool, the handle and the shape by what is on screen, draws, and checks the result visually.

    Example flow
    1. Open the lobby plan
    2. Pick the Zone tool
    3. Draw a five-point polygon
    4. Name it “Quiet zone”
    5. Assert the zone appears in the legend and the saved plan
    See the product

    Coverage and runs, by the numbers we can stand behind

    3verdict states: PASS · FAIL · UNMEASURED
    3evidence layers per run: screenshot · trace · HAR
    0tokens at run time, no model in the loop
    0CAPTCHAs solved on sites you don't control
    100%of agent decisions stamped with model id + cost
    MITlicense for the core, extraction in progress

    Product facts, not customer metrics. We don't have those yet and won't invent them.

    Pricing

    The core is free. Hosted starts at $0.

    Metered on browser-minutes, no opaque AI credits. Full detail: pricing.

    Open-source core

    Free · MIT

    Flow runtime, engine adapter, OCR-driven operator, evidence-first storage.

    • Extraction to a public repo in progress
    • No specific-product knowledge inside
    What's in the core

    Self-hosted

    Free · your machines

    Run the whole loop yourself: Node 22, Playwright, on-device OCR or a vision model, and a model key.

    • Every model call cost-logged, no "AI credits"
    • Evidence stays on your disk
    Read the docs

    Hosted

    From $0 · then $20/mo

    Free includes 500 browser-minutes a month plus $20 in signup credit, no card. Solo is $20/mo with 1,333 browser-minutes; Team is $99/mo with 10,000; Scale is $499/mo with 60,000.

    • Overage $0.015 per browser-minute, runs keep going
    • The $20 credit is 1,333 extra browser-minutes
    See full pricing

    What we want to be able to quote here

    IllustrativeSample quotes, not real customers. Replaced with attributed quotes the moment a design partner is quotable, never before.

    “The first mapping session found a checkout path nobody on the team had a test for.”

    Sample · engineering lead

    “UNMEASURED saved us from chasing a ‘failure’ that was just the staging box being asleep.”

    Sample · QA engineer

    “We pointed it at a county portal with no API and had a scheduled pull running the same afternoon.”

    Sample · operations
    FAQ

    Questions we'd ask too

    Do I have to write Playwright selectors to get started?

    No. Drive your app and it records the clicks, or describe the goal and the operator reads the screen. Either way you get real Playwright code, selectors included, so you are never stuck depending on OCR at test time. Region steps cover what a selector can't say: drag a rectangle on the page and capture its text as a value, assert it shows something, or branch on it.

    What is the PASS / FAIL / UNMEASURED verdict?

    Anything a check could not actually observe (a page that never loaded, a flaky network hop) gets forced into FAIL by most runners. Runs here carry a third state instead. More in the blog post.

    How does "turn any old website into an API" work?

    Record the flow once and parameterize the inputs. It runs on request or on a schedule and returns structured output with the evidence. No API on the target site required. Details on the website → API page.

    Does QA Reef solve CAPTCHAs?

    Only on an app you own or are authorized to test: vendor test keys, a bypass token, session reuse, or a solver you configure, gated on your attestation that you control the target. On a site you don't control it never solves; the run stops, records the screen as evidence, and hands it to a person. More on the legacy system automation page.

    Is QA Reef open source?

    The core (flow runtime, engine adapter, OCR-driven operator, the cost-logging LLM adapter and evidence storage) is MIT-licensed under packages/core. The hosted app is not part of that core.

    How is this different from other AI-driven QA platforms?

    Closed "coverage as a service" platforms pair a managed runner with human QA engineers. This one looks similar at the surface, but the automation core is open source, the operator reads the screen instead of needing stable selectors, and every model decision is cost-logged. There is no managed human-verification service. Sourced comparison on the compare page.

    Let an agent QA your app.

    Leave an email and we'll reach out when there's a seat, or skip the form and talk to the people building it.