Build1 distinct publisher3 min readPublished
A dev.to build log puts a model in the browser at run time, then takes it out. The bill is the stated reason; the coin-flip results are the one that ends it for monitoring.
The Engineer · Build desk
Compiled by The EngineerSomething wrong?How this is made
Variance, not price, is what makes an execution-loop agent unusable as a monitor. A health check exists to emit one bit that something downstream acts on, and the author reports that the same test could pass or fail depending on how the model read the page that day [7]. That adds a failure mode nobody can separate from the real one: a red check no longer distinguishes a broken cart from a model that read the page badly. Cost only decides how long you put up with it.
The cost is still worth doing the arithmetic on, because the author states the intended cadence plainly: cron, many times a day, forever, with "every hour" as the reference point [8]. Hourly is 24 executions a day and 8,760 a year for a single scenario [20]. Each one carried seconds of latency per step [7] and a metered API call, and in practice a handful of runs cost real money and hit rate limits almost immediately [6]. Generation of a full test in the later version costs a fraction of a cent [15], which puts per-run execution at least two orders of magnitude above per-test generation [21]. The scenario does not change between runs and the page usually does not either [9], so the model is being paid repeatedly to reach the conclusion it already reached.
Moving the model to generation time only works if the model can see the page cheaply, and that is the part of the write-up doing the real work. A production product page is around 2MB of HTML, tens of thousands of tokens of noise; the Playwright accessibility snapshot of the same page is about 2KB of JSON, 500 to 1,000 tokens, and it holds the buttons, links, inputs and their labels that a test actually touches [14]. That is roughly a thousandfold reduction in payload [19], and it is why Haiku is sufficient to write the test rather than a frontier model [15].
One snapshot is not enough, because the tree of the search page says nothing about the cart page [16]. The fix was a persistent browser over CDP with an agent orchestrator generating one step, executing it live, snapshotting the new state, then writing the next, with the assembled file gated by pytest before it is saved [17]. Note what that is: the same interpretive work as the execution loop, run once, with a passing test as the artefact instead of a log line.
The earlier bookmarklet version is the counterexample that explains the ordering. Human clicking made generation very cheap at roughly 600 tokens [11], but the page loaded without proper JavaScript execution, so client-rendered elements were invisible, and hand-clicking every element restored exactly the manual labour the project existed to remove [12].
The self-healing payoff is asserted, and the supplied text cuts off at the point where the three-file test folder is described [18][22], so the repair path is not verifiable here. What the rest of the account already supports is the shape of the bill: model spend tracks how often the storefront changes, not how often you check it.
Ranked by verification strength, evidence, and original report placement.
The author says self-healing fell out of the interactive generation loop almost for free, and that each test is a folder with three files.
The author wanted automated health checks for an e-commerce storefront covering search, product page rendering, adding items to the cart, and checkout.
The non-standard requirement was that tests be written in plain natural language in a text file, not code, not a DSL, and not record-and-replay.
The author's rationale: the person writing the scenario should not maintain Playwright selectors, because every UI tweak breaks them and maintenance quietly becomes more expensive than the bugs the tests catch.
The project went through five versions, and the path was not a straight line; at one point the author went backwards on purpose.
The first approach used libraries like browser-use, which wrap Playwright and let a model drive the browser directly from a natural language instruction; the author set it up in Docker on a dev server and it worked, with the model reading the instruction, looking at the page, and clicking the right things.
Follow any of these and your For You feed starts watching them — no settings page required.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Single self-reported build log, no reproducible measurements
All claims trace to one first-person dev.to post. The architecture descriptions are internally consistent and specific enough to reimplement, which lifts evidence above the floor, but every quantitative anchor (~600 tokens, ~2MB versus ~2KB, 'a fraction of a cent', 'actual dollars') is an approximate self-report for one storefront, with no repository, logs, pricing, run counts or reliability metrics. The core self-healing and $0-execution claims are asserted mechanically and never measured.
One author's project, reported as ended
The only disclosed usage is the author's own: a run-time browser-agent trial in Docker that was abandoned, and a generated-test harness executed on a schedule in GitHub Actions with a Dockerized report service. No other users, teams, repositories, downloads or third-party deployments are reported, and the author states the project ended. The underlying components (Playwright, pytest, Haiku, Claude Code CLI, browser-use) are widely available, but the source establishes no adoption of this pattern beyond the author.
Headline promises outrun the reported measurement
The '$0' and 'self-healing' framing is stronger than what the text substantiates: execution is free only because generation and healing costs are moved elsewhere and never totalled, healing is claimed to fall out 'almost for free' without any success rate, and the cost comparison rests on 'dollars' versus 'a fraction of a cent' with no absolute numbers. The gap is moderate rather than severe because the post is unusually candid about dead ends, keeps the failure modes in view, and the strongest operator-relevant finding — non-deterministic pass/fail with a model in the loop — is stated plainly rather than glossed over.
Personal build log; project promotion, no disclosed commercial tie
The single source is an individual practitioner writing on a developer publishing platform about their own project, with a headline ('for $0', 'self-healing') tuned for engagement. That creates a mild incentive to present the final architecture favourably and to under-report failures. No vendor sponsorship, employer interest, commercial product, funding or affiliate relationship is disclosed or evident in the supplied text, and the post names commodity tools without selling any of them, so the incentive load stays low.
Confident about what was built, not about the results
Confidence is moderate: the cluster is a single detailed, internally consistent primary account, so the descriptive claims about what was built and why are reliable. Confidence is capped by the absence of corroboration, the approximate and unit-mismatched cost figures, the missing reliability data on generation and healing, and the truncated body that omits version 5 and any closing outcome. A ledger discrepancy about where the text ends further signals incomplete capture of the source.
build
Partition, not consolidation: what a 43-minute Jenkins queue actually cost1 distinct publisher
build
Express Mode builds the ALB you skipped, and owns the knobs you used to write1 distinct publisher
build
Your Databricks Pipeline Is A Demo Until Promotion Only Runs One Way1 distinct publisher
build
Before you buy another GPU, check num_ctx and the rope base1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 25, 2026