Build1 distinct publisher3 min readUpdated
The tool returns a match percentage plus a diff rectangle. In the sample run, only 44 per cent of the pixels inside that rectangle differ, so the box localises a band and not an element.
The Engineer · Build desk
Compiled by The EngineerSomething wrong?How this is made
Do the arithmetic on the sample output in the dev.to write-up and the rectangle turns out to be a blunt pointer. The box measures 1440 by 168 pixels, which is 241,920 pixels out of a 1,411,200 pixel frame [8][7][18]. Of those, 107,251 actually differ [7]. The box is therefore about 2.26 times the area of the damage, and roughly 56 per cent of what it encloses already matches the design [19].
The frame works out to 1440 by 980, and the box starts at y=812 and runs to the bottom edge across the full width [17][20]. An agent reading those coordinates has ruled out everything above that line and learned nothing about which node inside the band is wrong. It is still a large gain over the status quo the post describes, where the agent glances at a screenshot and misses a heading sitting a few pixels low, a colour that has cooled, a font that quietly failed to load [21].
What makes the loop worth running is less the score than the gate in front of it. Design Diff turns off animation and the blinking caret before it captures [c10b], and it refuses to hand back a quiet bad number when fonts have not arrived, saying so in the output instead [c10a]. For an agent hill-climbing on that value, the distinction is the whole mechanism: a scorer that answers mid-render teaches the model to keep making edits that were really fixing a render race, and the write-up is explicit that the number should move only when the page truly changed [11].
One scalar still cannot separate a shifted heading from a wrong colour, and the author does not pretend otherwise. The instruction is to read the shape: a small box on a button means a colour mistake, a box that spans the page means a font that never loaded or a viewport that does not match [12]. Because the design sets the capture size and matching happens per pixel [9], a wrong margin high in the document displaces every pixel under it and produces the same wide silhouette as a font failure, with a score far worse than the count of actual errors. The rectangle is a hypothesis. The agent has to test it.
Each run writes its artifacts to a timestamped folder with the metrics alongside them [6][14], so a loop that ran unattended leaves a record you can reread afterwards. The awkward cases matter more than the clean demo: a Figma file key instead of a manual export, pages behind a login, content that was always going to change, a design that exists only as a PNG on disk [16].
So the primitive on offer is two things wearing one name, a value to optimise and a box to argue with, and only the first of them is a reward.
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
Design Diff lays the design over a screenshot of the live page at the exact same pixel size, then returns one number for what matched and the bounding box around what did not.
It answers in three ways: a short terminal report, an interactive browser page for overlaying one image on the other, and a folder of artifacts written to .design-diff by default, one timestamped run at a time, or wherever --out points.
The design sets the size and the page is captured at that exact width and height, so the two line up point for point on one measure.
Every run prints three measures and writes them to metrics.json in the run folder.
It is built agent-first as a command and a library that speak plain JSON, so any agent or script can drive it; an agent skips the browser and reads the JSON.
It runs on Bun and needs no global install because bunx fetches and runs it in one step; the first run downloads Chromium once and every run after that is instant.
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.
One self-published post, internally consistent but unverified
All capability detail comes from a single launch post by the tool's own author, with no third-party test, benchmark, repository metrics or user report in the cluster. What raises it above bare assertion is that the published sample is arithmetically self-consistent and independently checkable: totalPixels resolves to a 1440x980 frame and the diffBounds area reproduces the reported 17.1 per cent coverage. Efficacy claims (honest signal, shape-as-diagnosis, agent convergence) carry no measurement at all.
Availability documented, no usage evidence
The cluster establishes only that the tool can be fetched and run via bunx. There are no install or download figures, no stars or contributors, no named teams, no CI integrations and no third-party accounts of use, so adoption cannot be scored without inventing facts.
Loop framing outruns the precision the sample shows
The post sells a self-closing agent loop with a ready-made reward signal, but its own sample undercuts the actionable half of that signal: the returned rectangle spans the full frame width and about 56 per cent of the pixels inside it already match, so 'fix what the box points at' points at a 168-pixel band rather than an element. Combined with a match percentage whose tolerance semantics are unstated and zero evidence of an agent actually converging or of anyone using the tool, the claims sit meaningfully ahead of the demonstrated capability. The mechanics that are documented — dimension-matched capture, readiness gating, JSON contract — are real and keep the gap from being larger.
Author-published launch post for the author's own tool
The only source is a first-person promotional write-up of the tool by its maker on a self-publishing developer platform, structured as install command, feature tour and closing benefits. There is no independent editorial layer, no disclosed adverse case, and no counterparty in the cluster; incentives run strongly toward presenting the measurement as trustworthy and the loop as complete. No paid sponsorship or commercial pricing is disclosed, which caps the score below the top of the range.
Mechanics legible, outcomes unknown
Confidence is moderate on what the tool emits and how it is invoked, because the source documents commands, flags, JSON fields and an arithmetically checkable sample. Confidence is low on whether it works as claimed in practice and on any adoption question, because the cluster contains one self-interested source, one sample run and no independent or usage evidence.
build
The stroke width that never rendered: SVG attributes lose every cascade fight1 distinct publisher
build
AmnesiaStealer drives your own browser, so session theft is the real macOS loss1 distinct publisher
build
height:auto is animatable now, so your max-height ceiling is a bug you can delete1 distinct publisher
build
Three manual interventions in a month, and every guard was working as designed1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 21, 2026