Agentic QA for web apps · open-source core

QA that operates your app like a person

qareef drives your product in a live browser, reads the screen the way a tester does, records every action as a flow, and turns it into real Playwright tests that run on every change — with screenshots and traces to prove it.

Free while in early access · no card · nothing to install on your site.

Built on · works with — no customer logos yet, we're pre-launch PlaywrightChromiumChromeCamoufoxApple Vision OCROpenRouterDeepSeekGitHub
How it works

One loop: map it, save it, generate it, run it, fix it.

Every flow goes through the same five stops. Nothing is a black box — open the generated test, read the trace, and see exactly which model made which click.

Map

Drive your app in a live, recorded browser — or describe the goal in plain English and let the operator drive: OCR reads the screen, a cheap model picks the next visible label.

Save as a flow

Steps land in a timeline you can drag to reorder or delete before saving. A flow is a named, replayable recording of what just happened.

Automate → test code

An Automate job turns the flow into real Playwright test code, with assertions proposed by a model (stamped decided_by) that you review in the built-in IDE.

Run with evidence

Runs execute against an environment and keep a screenshot and trace per run. Verdicts are PASS, FAIL, or UNMEASURED — never a forced false fail.

Bugs & maintenance

A failing run auto-files a bug with the evidence attached. Flows whose last run failed surface in Maintenance so nothing quietly rots.

Mapping session

The agent explores first, then writes the plan

Point qareef at a URL. It navigates your app like a new teammate, discovers the workflows, and drafts a test outline you approve before a single test is written.

The agent is exploring Tidepool Hotels (a fictional demo app) in a real browser, discovering ~57 workflows and grouping them into a test outline. You pick the flows; qareef turns each one into deterministic Playwright code.

Beyond QA

The same agent that tests your app can run anyone's

If a person can do it in a browser, a flow can do it on request. Two things people ask us for that a test tool wasn't built for — and this one was.

Turn any old website into an API

Record the flow once — search, log in, pull the record — and parameterise the inputs. It becomes plain Playwright that runs on request or on a schedule and hands back what it read, plus the screenshot and trace that prove where it came from.

  • Inputs like {account} or {date} become request parameters
  • Output is structured: what the operator read off the screen, not a scrape of the DOM
  • Every run keeps its evidence, so a wrong answer is traceable to a wrong screen

Automate workflows in legacy systems with no API

County portals, ERPs behind a login, vendor back-offices that were last redesigned a decade ago. There's no integration to buy — but there is a screen, and qareef reads screens. Runs on any browser surface: Chromium, Chrome, or Camoufox with a persistent, realistic profile.

  • Clicks by what's visible, so churning markup and missing selectors don't break the job
  • Scheduled or on-demand runs with a screenshot per step for the audit trail
  • Every agent decision stamped decided_by with its cost — nothing anonymous

No CAPTCHA solving. Ever.

If a site challenges the agent, the run stops, records the screen, and hands it to a person. qareef automates the work you're already allowed to do in a browser — it doesn't defeat access controls.

Capabilities

Built for the UIs other tools give up on

Canvases, maps, third-party payment frames, 2FA prompts, file pickers — 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

Illustrative — not a real customer

“We run the smoke suite on every pull request now. The agent draws, drags, and pays like a real user — and hands us plain Playwright when it's done.”

— What we're building toward. Sample quote; replaced when a design partner is quotable.

See the product

Code goes where agents can't

Deterministic Playwright handles the hardest paths — canvases, iframes, drag-and-drop — so runs are reproducible, not improvised.

Fast & token-free

Generated tests execute with no model in the loop. Your suite runs in CI at Playwright speed, at Playwright cost: zero tokens.

No vendor lock-in

Everything qareef writes is plain Playwright you can read, edit, and run anywhere — your repo, your CI, your rules.

Coverage and runs, by the numbers we can stand behind

3verdict states: PASS · FAIL · UNMEASURED
2evidence files per run: screenshot + trace
0tokens at run time — no model in the loop
0CAPTCHAs solved. Ever.
100%of agent decisions stamped with model id + cost
MITlicence for the core, extraction in progress

Parallel by default: generated tests are plain Playwright specs, so they shard across workers and CI runners like any other suite. These are product facts, not customer metrics — we don't have those yet and won't invent them.

Continuous QA

Equip your SDLC with agentic testing

qareef plugs into the way you already ship. Every pull request gets a smoke pass; every merge to staging gets the full suite. When something breaks, the agent files the bug with a trace and screenshot — and when a test is flaky rather than your app, it surfaces in Maintenance with the generated code one click away.

You review the evidence, not the noise.

Get early accessTalk to the team

Open a PR

if all tests pass

Merge to staging

Your agent files & fixes

Illustrative mock
0open
29fixed

Failures arrive with a trace, screenshots, and the generated test open in the IDE — flaky tests get repaired, real bugs get filed.

Pricing

The core is free. The rest isn't priced yet.

We're pre-launch, so this is the honest version. Full page: pricing.

Open-source core

Free · MIT

Flow runtime, browser-engine adapter, OCR-driven operator, evidence-first storage — the "drive a browser like a person" layer on its own.

  • 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, a Mac for on-device OCR (or a vision model on your network) and an OpenRouter key for the click-deciding model.

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

Hosted early access

TBD · not published

Flows, Runs, Bugs, Requests, Maintenance and the IDE as a hosted app. We'll publish numbers when there's something to charge for.

  • Early seats by conversation, not a waitlist gimmick
  • hello@qareef.com reaches the team
Talk to the team
Design partners

What we want to be able to quote here

IllustrativeThese are sample quotes, not real customers. We have no public customers yet; the cards get replaced with attributed quotes the moment a design partner is quotable — never before.
Illustrative

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

Sample — engineering lead, early-access team
Illustrative

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

Sample — QA engineer, early-access team
Illustrative

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

Sample — operations, early-access team
FAQ

Questions we'd ask too

Do I have to write Playwright selectors to get started?

No. A mapping session records real clicks, types, drags and navigations as you drive your app, or you describe a goal in plain English and the operator reads the screen with OCR and picks the next visible label. Either way, the flow becomes real Playwright test code you can read and edit — selectors included — so you're never stuck depending on OCR at test time.

What does "every decision stamped with the model id" mean?

When the agent decides the next click instead of you, that decision is logged with the exact model that made it (for example decided_by: deepseek/deepseek-chat), plus its token cost. Nothing the agent decides is anonymous, and run cost is visible, not billed as an opaque "AI credit."

What is the PASS / FAIL / UNMEASURED verdict?

Most runners only have pass and fail, so anything a check can't actually observe — a page that never loaded, a drifted viewport, a flaky network hop — gets forced into one of those two boxes, usually FAIL. qareef's runs carry a third state, UNMEASURED, for exactly that case. More in the blog post.

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

Record the flow once — search, log in, pull a record — and parameterise the inputs. The flow becomes plain Playwright that runs on request or on a schedule; each run returns what it read as structured output together with the screenshot and trace that prove where it came from. No API on the target site is required. Details on the website → API page.

Does qareef solve CAPTCHAs?

No, never. If a site challenges the agent, the run stops, records the screen as evidence, and hands it to a person. qareef automates the work a person is already allowed to do in a browser; it does not defeat access controls. More on the legacy system automation page.

Is qareef open source?

The core — flow runtime, engine adapter, OCR-driven operator, OCR/pixel measurement, the LLM adapter with cost logging, and evidence-first document storage — is being built in the open under packages/core, MIT-licensed. The hosted app (Flows, Runs, Bugs, Requests, Maintenance, the IDE, Automate jobs) is not part of that core.

What do I need to run it myself?

Node 22, Playwright, and either a Mac (for on-device Apple Vision OCR) or a 27B-class vision model reachable over the network — plus an OpenRouter key for the cheap text model that decides what to click. Full list on the docs page.

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

Most closed "coverage as a service" platforms pair a managed cloud runner with dedicated human QA engineers. qareef looks similar at the surface — flows, runs, bugs, maintenance — but its automation core is open source, it uses an OCR-reading operator instead of requiring stable DOM selectors up front, and every model decision is cost-logged and attributed. It does not (yet) offer a managed human-verification service. Full, sourced comparison on the compare page.

Ready to 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.