No scripts, no selectors
Tenth drives Chromium against staging and works out what the product does. Nothing to script. No selectors to babysit. What comes back is a map: every screen it reached, every route between them, a screenshot at each one.
Give Tenth one staging URL. It does the rest: drives Chromium through the product, writes plain Playwright into your repo, and opens a pull request the day the UI moves.
They're your tests either way — plain Playwright, in your repository, kept if you cancel.
What Tenth does
Explore, verify, repair: the loop a QA engineer runs every week. Tenth runs all three against staging, on your schedule, and hands the work back as code.
Tenth drives Chromium against staging and works out what the product does. Nothing to script. No selectors to babysit. What comes back is a map: every screen it reached, every route between them, a screenshot at each one.
A suspected failure gets rerun three times in fresh sandboxes. All three have to agree before anyone hears about it; if they don't, it goes to quarantine instead. The reasoning is blunt. A test tool is worth nothing the day a team starts skipping its alerts.
The output is plain Playwright — no proprietary format, no runtime to license. When the UI moves, Tenth writes the repair and opens a pull request. Forward it a Sentry issue and it comes back as a failing test. It never writes to your default branch, and that's enforced in code, not promised in a contract.
tenth[bot] · 1 commit into main
Heal: ‘Save card’ moved inside the billing dialog
tests/checkout.spec.ts
$5.33
Total model spend for the most recent full fleet run: sixteen targets, all passing. Measured 2026-07-27. Billed, not estimated.
The numbers
Every figure carries two things: the date it was taken, and a retained artifact behind it. Projections say so on the line. Nobody has to take our word for any of it.
On the most recent full fleet run.
2026-07-27 · run artifacts retainedTotal model spend across that entire run.
2026-07-27 · billed costOne complete cycle on live hardware: provision, run, destroy.
metered, not estimatedFrom a single crawl of a production-grade app.
2026-07-26 · artifacts retainedAcross 44 tests.
current buildCost of goods, extrapolated from a 14-flow fixture suite.
projection · no customer has generated thisAt modelled real-customer steady state.
projectionMetered for one cycle, not for one month.
the largest uncertainty in our economicsThree of them. The first decides whether Tenth is a product or just an engine.
Not measured
The one number that decides whether Tenth is useful. We have a sample of one: that's a demo, not a result. We'd rather leave the space blank than fill it with a figure that flatters us.
Target: at or above 0.97 across at least three real customer suites, published here, and bound to the price.Everything above was measured on our own applications. Nobody outside this company has run Tenth against their code. Take a pilot slot and you'd be among the first — and this page will say so the day that changes.
Design partners wanted. Pilot slots cost nothing.We've metered one complete cycle on live hardware, not one complete month. Until the bill lands for a real month at real volume, the cost side of our pricing is a model, not a fact.
See gate 03 below.No reading yet.
Gates
We wrote these down before there were customers, precisely so they couldn't be moved afterwards. If the first one fails, Tenth isn't a business: it's an engine, and we'd tell you that.
Gate 01
The full condition: one run against a repository we don't own, with the infrastructure bill metered on it. It has two halves, and one of them is done.
In progress
Gate 02
Alert precision at or above 0.97, across at least three real customer suites, printed on this page and bound to the price. Our internal release bar is already there — 0.97 precision, 0.90 recall, a newborn 100-run flake rate at or under 1% — and no agent-logic change merges without a scorecard clearing it. Gate two is that same bar met on your code instead of ours. If it drops below the line, the price moves.
Not started
Gate 03
Fully-loaded cost under $120 per customer-month at first-hundred scale. Starter holds 69% gross margin at our modelled cost and 23% under a 2.5× infrastructure stress case. That spread is exactly why Starter stays self-serve with a fair-use cap until the real bill is known.
Blocked on gate 01
Pricing
Priced against the QA engineer nobody got budget for, not against the test framework already in the repo. No per-seat. No per-test. Two things worth knowing up front. The prices below are set, and billing isn't live yet — pilot slots cost nothing.
Starter
$249/mo
Team
$1,499/mo
Managed
$4,999/mo
The cheapest managed-outcome floor we could find in this market is $599 a month. Starter is $249. Prices in US dollars, local tax excluded.
Safety
An agent with a browser and write access to a repository is a serious thing to point at somebody's software. Here's exactly how it's fenced — including the time the fence wasn't good enough.
A run was pointed at a local address with a matching allow-list entry and a valid authorization record. The intended app had died on that port; something else had taken it. Tenth crawled a system nobody had authorized, and spent $1.32 doing it.
Every target now carries a string that has to appear in the page before Chromium is allowed to open it. If it isn't there the run fails closed, and the error names what it actually found instead. Enforced in code, not in the contract.
The mislabeled graph came out. The original log entry stands, with a second entry beside it naming the mistake and the fix. Here's the rule: you don't erase an audit trail to tidy up a mistake, you write the correction next to it.
Tenth reads pages and tickets that anyone can write into. All of it is data, never instructions; any attempt to act off an allow-listed origin is a hard failure. Credentials go from the vault into the sandbox environment and nowhere else — never into a prompt, a log, or Postgres.
Tenth runs against staging rather than production, and won't touch real personal data unless you arrange it with us first. Runs are scheduled in UTC.
Tenth opens pull requests and stops. There's no setting that lets it merge its own work into your codebase. There isn't one to ask for.
Every pull request carries a “Generated by Tenth (AI)” label, consistent with EU AI Act Article 50, in force since 2 August 2026.
Five slots. Three months at no cost, in exchange for thirty minutes of feedback a week and permission to publish the flake numbers we get. All we need to start: one staging URL, and a repository you can install a GitHub App on.