I worked for Percy for 4 years. We were “stuck” with imagemagik to do diffing (I’m sure they still might). I was able to build my own differ with Claude/LLM help.
That special enough for you? Or?
878 karma · joined December 7, 2012
I worked for Percy for 4 years. We were “stuck” with imagemagik to do diffing (I’m sure they still might). I was able to build my own differ with Claude/LLM help.
That special enough for you? Or?
│ Total │ │ 3,884,609 │ 3,723,258 │ 215,832,272 │ 3,956,313,197 │ 4,179,753,336 │ $3150.99 │
It calculates tokens & public API pricing. But also Anthropic models are generally more expensive than others, so I guess its sort of 'self made' value? Some of it?
Playwright uses pixelmatch, which is decent but limited. It returns the number of mismatched pixels and a diff image, but nothing about where changes cluster or what kind of change you're looking at. I built Honeydiff (https://github.com/vizzly-testing/honeydiff) for Vizzly to go further: spatial clustering to group changes into regions, SSIM for perceptual scoring, and intensity stats to characterize what actually changed. My comparison vs odiff & pixelmatch here: https://vizzly.dev/blog/honeydiff-vs-odiff-pixelmatch-benchm...
I love OSS (https://vizzly.dev/open-source/), so if anyone wants to drop Vizzly into their project to get baseline management, review workflows, dynamic content handling, local VRT TDD, etc, it's there.
Anyway, I've been thinking about and building around this problem for a while now. Love to see others doing it too. I feel like a lot of folks have a bad experience that turns them off and I'm hopeful I can make a dent in that problem.
But I so happy with my config now. Simplified and modern.
I think you might be the one needing the luck
Is anyone really buying they laid off 4k people _because_ they really thought they’d replace them with an LLM agent? The article is suspect at best and this doesn’t even in the slightest align with my experience with LLMs at work (it’s created more work for me).
The layoff always smelled like it was because of the economy.
I’m a big fan of testing exactly like a user. Users don’t use network intercepts, timeouts, etc. All of my most reliable tests assert on DOM state. If the user doesn’t see it, don’t assert on it.
My favorite thing I’ve printed is a little downsize coupler for the cool shirt system I built for my spec miata. It’s realllly silly & small thing, but it saved me!
Pretty much, yeah. I race SCCA and build race cars. Exactly why I want nothing to do with these, you don’t own it. You’re leasing the hardware that’s hogtied to the software.
Now, I just tested against a real database in a docker container. I have over 1k tests that run about 1.5 mins. I’m pretty happy with that.
I guess given that, testing isn’t quite the use case for this (for me). Wonder what else this could be used for.
> For Claude and Claude Code users with access to Opus 4.5, we’ve removed Opus-specific caps. For Max and Team Premium users, we’ve increased overall usage limits, meaning you’ll have roughly the same number of Opus tokens as you previously had with Sonnet. We’re updating usage limits to make sure you’re able to use Opus 4.5 for daily work. These limits are specific to Opus 4.5. As future models surpass it, we expect to update limits as needed.
The biggest catalyst for this is knowing most visual testing tools image diffing is done with 1-2 libraries out there. I worked at Percy for four years (prior to acquisition and after) and it was imagemagik (at the time). Argos CI uses odiff, lots of different platforms use these sorts of libraries.
I wanted something that would allow me to visually test my live sites, with live dynamic data, and not have to plaster ignore regions all over the place. And I think I have!
codesign -dv /Applications/Obsidian.app
Executable=/Applications/Obsidian.app/Contents/MacOS/Obsidian
Identifier=md.obsidian
Format=app bundle with Mach-O universal (x86_64 arm64)
CodeDirectory v=20500 size=759 flags=0x10000(runtime) hashes=13+7 location=embedded
Signature size=8975
Timestamp=Sep 29, 2025 at 12:22:41 PM
Info.plist entries=39
TeamIdentifier=6JSW4SJWN9
Runtime Version=15.4.0
Sealed Resources version=2 rules=13 files=23
Internal requirements count=1 size=172
Also, I love OSS as much as the next person, but not everything needs to be.Look at Nissan leafs. They “traditionally” depreciate.
You will never EVER catch me in a car connected to the internet (this includes all the precious new EVs). Especially a Chrysler product. Look up how they were hacked in 2015…
Most visual testing tools spin up a recreated environment (copy the DOM + assets, render in their own infra) and then compare diffs. The problem is: that’s not what your users actually see. You end up debugging rendering quirks in their browser instead of yours. I wrote about it here if you’re curious: [Why Visual Testing Needed a Different Approach.](https://vizzly.dev/blog/why-visual-testing-needed-a-differen...)
Vizzly flips that around by focusing on developer workflows first:
- Local TDD: vizzly tdd lets you iterate on UI changes locally, instantly, against real screenshots. - Bring your own screenshots: Works with whatever infra you already have (Playwright, Puppeteer, BrowserStack, CI runners, etc.). - Team review: When you push, every commit builds a visual review dashboard with position-based comments, review rules, deep links, etc.
The CLI/SDK are open, you can even use just the local TDD bits without ever touching Vizzly’s hosted service. The goal is to close the developer ↔ designer gap by making visual review a normal part of shipping features, not a separate QA checklist.
Would love feedback from folks who’ve wrestled with visual diffs before. Does this workflow resonate with you, or do you see gaps I should be thinking about?
Ugh, this is what sort of bothers me about the accessibility community. Something about it is always coming off preachy and like a moral argument. This is the worst way to get folks to actually care. You’re just making them feel bad.
Look the fact is everyone needs to use technology to live these days. And us devs suck ass at making those things accessible. Even in the slightest. It won’t be until we all age into needing it when it finally becomes a real issue that’s tackled. Until then, tools like LLMs are going to be amazingly helpful. Posts like this are missing the forest in the trees.
My mom has been using ChatGPT for a ton of things that’s helpful. It’s a massive net positive. The LLM alt tags Facebook added a long time ago, massively helpful. Perfect? Hell no. But we gotta stop acting like these improvements aren’t helpful and aren’t progress. It comes across as whiny. I say this as someone who is in this community.
Karma like approaches are where I’m at (execute in the browser)
> Some water is recycled, but a large portion evaporates during cooling and is lost forever.
lol “large portion”
Take it from my cold dead hands.