New Cartographer v0.9 — autonomous QA agent, now in public beta
AUTONOMOUS QA · MAPS YOUR APP · WRITES THE TESTS

The agent that
knows your app
better than you do.

Point Cartographer at any URL. It crawls every route, traces every flow, and writes Playwright tests you actually own — in a real browser, with real reasoning, on a budget you set.

60-second setup Safe on production Owned Playwright code, exported MCP + CLI + Web
cartog — autonomous run — acme.com/checkout
live
~/acme-app ❯ cartog run "complete checkout with Pro plan" connected to api.cartographer.molar.dev project=acme-prod worker=hatchet-w3 route-map loaded 124 pages · 38 forms · last crawl 14m ago planner ready claude-sonnet-4-5 · 8 substeps proposed ───────────────────────────────────────────────────────────────────── step 01 navigate /checkout ✓ tier-0 220ms step 02 fill #email = qa+pro@acme.dev ✓ tier-0 180ms step 03 select plan = Pro ✓ tier-0 140ms step 04 click [data-testid=submit] ✓ tier-0 90ms step 05 await /webhooks/stripe ⟳ tier-1 Gemini Flash verify step 06 assert receipt $9.00 ✗ expected $9.00 got $90.00 └ regression introduced PR #421 (claude-3.7-sonnet) — checkout/discount.ts ───────────────────────────────────────────────────────────────────── playwright spec written → tests/checkout.coupon.spec.ts (1.4kb) pull request opened → molar/fix-checkout-coupon · @alex trace + screenshots → open in dashboard ↗
Wired into Playwright GitHub Hatchet Langfuse Anthropic Gemini MCP Cursor
01 — Within Molar

One surface of four. The one that does the mapping.

Molar is a release guard with four surfaces. Cartographer is the one that reads your app end-to-end and writes the tests. It feeds the other three.

01 / AGENT

Cartographer

Crawls routes, plans goals, runs flows in a real browser, exports owned Playwright code. The reader and writer.

02 / SANDBOX

Clones

Stateful mirrors of Stripe, SendGrid, Twilio, Postgres. Real APIs without real side effects.

03 / RUNTIME

Guard

Runs Cartographer's flows against live production on a schedule. Catches bugs before users do.

04 / DEBUGGER

Trace

Replay any failed run like a debugger. Diff against last green to see exactly what changed.

02 — What it does

Six things. None of them brittle.

01 / DISCOVER

Deep crawl

BFS from any seed URL. Resolves auth gates, follows forms, maps routes into a graph you can browse, filter, and diff between deploys.

pages discovered124
forms found38
auth states12
screenshotsstored · S3
02 / REASON

Goal-driven runs

Write a goal in plain English. A LangGraph planner decomposes it into steps; the actor drives a real browser; the verifier escalates only when it needs to.

plannersonnet-4-5
tier-0 groundinga11y + Sonnet
tier-1 groundingGemini Flash
tier-2 groundingUI-TARS · local
03 / EXPORT

Owned code

7-stage export pipeline: prune → rank selectors → cluster page objects → harvest assertions → generate → lint → sandbox-verify → heal. Drops a Playwright spec into your repo.

spec generatedcheckout.spec.ts
lintpassed
sandbox verifye2b · 4.2s
testid coverage87%
04 / OBSERVE

Passive UX

Every step runs axe accessibility, visual diff against a baseline, and optional VLM sampling. Findings land in an inbox with dedupe, severity, and dismissal.

axe rule violations3 critical
visual diff2 pages drifted
VLM budget$0.42 / $5.00
deduperule+selector+route
05 / INTEGRATE

MCP + CLI + Web

Same run_id everywhere. Drive Cartographer from Cursor / Claude Code / Windsurf via MCP, from your terminal with cartog, or from the web dashboard. They share state.

mcp tools exposed7
oauth 2.1enabled
cli commandcartog run "..."
web dashboardparity
06 / RECORD

Demonstrate once

Show Cartographer the flow once via the Chrome extension. It chunks the rrweb session by intent, deduplicates against the route map, and replays deterministically.

extension sessionconnected
chunks recorded14
skill cache hit9 / 14
replay strategyrrweb + actor
03 — How it works

Paste a URL. Walk away.

No fixtures. No YAML. No DSL. Cartographer reads what's there and reasons about what to do next, just like a careful human QA engineer would — except in parallel, on every flow, every commit.

STEP / 01

Hands you a route map

A BFS crawler with anti-bot defaults walks every reachable route from a seed URL. It captures DOM hashes, status codes, headers, screenshots, and discovered actions. The result is a queryable site graph — not a sitemap.xml dump.

crawl · acme.com
seedhttps://acme.com
depth · max4 · 150
scope allowlistacme.com, *.acme.dev
anti-botcloak · headless
statuscomplete · 124p · 38f
resume tokencrawl_3f29...
STEP / 02

Plans the goal

Planner reads the route map, the natural-language goal, and any cached skills from a prior demo. It produces a substep list. The actor executes; the verifier checks; the grounding ladder escalates only when accessibility-tree grounding isn't enough.

graph · langgraph
skill_cachemiss · 1 of 8 hit
plannersonnet-4-5 · 8 steps
actorplaywright · cloak
verifiera11y → flash → tars
HITLpending_human · 0
tier-0 share82%
STEP / 03

Writes the test

When a run succeeds, the export pipeline drops a clean Playwright spec into your repo (or a presigned zip). Page objects clustered automatically. Selectors ranked by stability. Assertions harvested from what the agent actually verified.

export · stage 1–7
prune trajectory42 → 18 ops
rank selectorsdata-testid · 87%
cluster POM3 page objects
generatesonnet · 1.4kb
linteslint passed
verifye2b · 4.2s
healgemini · 1 attempt
STEP / 04

Keeps watching

Hand the spec to Molar Guard and Cartographer will keep running it against staging and production on a schedule. Failures route back to the diff that introduced them, attributed to the human or agent who wrote it.

handoff · molar guard
schedule* / 30 min
envproduction · cloak
last runpassed · 14m ago
last failurePR #421 · 6h ago
blameclaude-3.7-sonnet
linear ticketMOL-318
04 — The dashboard

Built for the hour when step 7 fails.

Most agent UIs show you a flat log and call it observability. Cartographer's run detail shows you reasoning, grounding tier, selector candidates, before/after screenshots, and the exact moment Tier 0 escalated to Tier 1 — for every step.

cartographer.molar.dev / acme-prod / runs / run_8f3a91 — checkout.coupon
live
Status
failedstep 6 of 8
duration 14.2s · cost $0.071
Tier distribution
82%tier-0
target ≥ 80% · within budget
Findings
3this run
2 axe · 1 odiff · dedup'd
Export
readyspec + POM
verify ✓ · 87% testid coverage
Step trajectory
01navigate /checkouttier-0 · 220ms ✓
02fill input[name=email] = "qa+pro@acme.dev"tier-0 · 180ms ✓
03select plan = "Pro"tier-0 · 140ms ✓
04click [data-testid="submit-checkout"]tier-0 · 90ms ✓
05await network /webhooks/stripetier-1 · 2.1s · escalated
06assert text = "$9.00" in [data-testid="receipt-total"]tier-0 · expected $9.00 / got $90.00
07not reached — run halted
08not reached — run halted
Route map
/ /login /signup /checkout /account /pricing
5 routes touched · 1 hot
Open the live dashboard →
05 — Why we built it

QA was built for code humans wrote.

2026 is the first year more than half of merged code is written by an agent. The PR-time E2E suite, the post-deploy monitor, the customer support ticket — none of that scales when a Sonnet checkpoint silently inverts a coupon calculation at 3am.

46%
of code at AI-using teams is now agent-generated.
5.7%
of merged code is reverted within two weeks of landing.
66%
of devs cite "almost-right AI code" as their #1 frustration.
$2.4T
cost of poor software quality in the US, per year.
Also known as

Autonomous QA & Playwright codegen — without the brittleness.

Cartographer answers searches for agentic crawl, app mapping, Playwright test generation, and autonomous E2E authoring — with a site graph you can query and tests you actually own.

agentic crawlapp mappingPlaywright test generationautonomous QAPlaywright codegen alternativeE2E test AIsite graphMCP browser tools
How is Cartographer different from Playwright codegen?

Playwright codegen records one session. Cartographer crawls your app (BFS from a seed URL), builds a route graph, then runs goal-driven flows and exports owned .spec.ts files through a 7-stage pipeline. Compare Molar vs Playwright.

Can it crawl authenticated apps?

Yes — Cartographer resolves auth gates, stores session state, and maps routes behind login. Safe production crawl with configurable rate budgets.

Does it replace my existing Playwright suite?

No — it augments it. Export new specs into your repo, or feed existing flows to Guard for PR gating and production monitoring.

How does Cartographer use Clones?

Flows that hit Stripe, email, or SMS run against Molar Clones so the agent can test checkout and webhooks with zero production side effects.

06 — Pricing

Priced on the page. Not behind a sales call.

Cartographer is one of four Molar surfaces. You can pay for it on its own — by run-hours and pages crawled — or get it included in the Molar suite.

01 / Solo

Hobby

$0/forever
  • 1 project
  • 200 run-hours / mo
  • 500 crawled pages / mo
  • Public GitHub repos
  • Community Discord
Start free →
02 / Most teams

Pro

$149/mo
  • Unlimited projects
  • 2,000 run-hours / mo
  • Unlimited crawls
  • Private repos · GitHub App
  • MCP + CLI + Web parity
  • Owned Playwright exports
  • Bring your own LLM keys
Start 14-day trial
03 / Big teams

Enterprise

Talk to us
  • Unlimited everything
  • Self-hosted in your VPC
  • SSO · SCIM · audit logs
  • Dedicated FDE
  • Tier-2 grounding (UI-TARS, local)
  • Bring your own Hatchet / S3
Talk to the founder

Paste a URL.
Get a full-time
QA engineer.

Sixty seconds from your seed URL to a working Cartographer agent mapping your app, running goals, and writing Playwright tests you keep.

Map your app → Read the docs ↗
or — $ npx cartographer init