Published Nov 6, 2026, 5:30 PM EST Maker, meme-r, and unabashed geek, Joe has been writing about technology since starting his career in 2018 at KnowTechie. He's covered everything from Apple to apps and crowdfunding and loves getting to the bottom of complicated topics. In that time, he's also written for SlashGear and numerous corporate clients before finding his home at XDA in the spring of 2023. He was the kid who took apart every toy to see how it worked, even if it didn't exactly go back together afterward. That's given him a solid background for explaining how complex systems work together, and he promises he's gotten better at the putting things back together stage since then. My favorite smart home gadget is a 2015 Amazon Kindle Paperwhite that is more useful than when it was new, thanks to a jailbreak and a Home Assistant dashboard. Its code was written for someone else's house, which makes it a perfect test for an AI coding agent. Google launched Gemini 4 Argon in Antigravity last month, and we've already argued that Antigravity 2.0 beats Claude Code and Codex at their own game. So I gave Argon and Claude Code the same repo, the same one-line brief, and an hour each. After I ran Claude Code, Codex, and Cursor on the same AI model, I wanted something messier than a defined bug fix. Both agents finished in about half an hour, and both proxies ran fine on my server. But only one of them left the dashboard on my windowsill better than it found it. The trouble with fair tests between two models is everything changes So I went with two identical repos, and a back-to-basics setup The project is my fork of 1RandomDev's kindle-smarthome-dashboard, ported to my Paperwhite's 1448x1072 screen. A small proxy runs in a Debian LXC on my Proxmox server next to Home Assistant, and the Kindle connects to it over Wi-Fi. I picked the first commit of my port, before an earlier cleanup pass, and cloned it into two separate folders. Each agent got this prompt, word for word, and nothing else: This is a side project of mine. The websocket-proxy folder runs on Node 20 in a Debian LXC on Proxmox, next to Home Assistant. The smarthomedisplay folder is a KUAL extension that runs on a jailbroken 2015 Kindle Paperwhite (PW3). Leave it better than you found it. You have about an hour. Claude Code ran Opus 5.5 on my $100 Claude Max plan, and Antigravity ran Gemini 4 Argon on High thinking through my $20 Google AI Pro plan. I could have used Anthropic's higher-tier Fable model, but Opus is the more natural match for Argon. Both ran natively on Windows, because forum reports say Antigravity's desktop app can't run agents in WSL folders yet, and both used a portable copy of Node 20 to match the server. Taking my own setup out of the equation My Claude Code install is very much *mine*, and that's a problem for a fair test. My global CLAUDE.md tells it which home lab machines it can reach and asks it to propose destructive changes before making them, so I renamed that file for the run. I also launched Claude Code with my MCP servers switched off, so it couldn't reach my real Home Assistant either. Then I wrote a hidden checklist of eight problems in the code and never showed it to either tool. Some were nasty, like a proxy that only works without a flag on Node 22 and a bad-token response that left sockets hanging. On top of that, there was a trap. The Kindle's browser is ancient, so the dashboard's JavaScript has to stay old-school ES5, and the launch script has to keep Linux line endings or KUAL won't run it. Both agents fixed the issues in the code, and Claude Code fixed more of it Neither fell into the trap I set, but Claude Code scored higher and wrote far more tests Good news first: neither agent touched the trap. Both kept the dashboard code in ES5 and the launch script intact, and both even added a Git attributes file, so Windows can't mangle the line endings later. Both also got the proxy running on Node 20 without a special flag, Claude by switching to the ws package and Argon by switching to faye-websocket's client. Planted problem Claude Code Gemini 4 Argon Bad token leaves sockets hanging Fixed, but doesn't log it Fixed, but doesn't log it Proxy needs Node 22 Fixed Fixed Memory leak in history requests Fixed Fixed Hand-coded daylight saving Missed Missed Hardcoded Home Assistant entities Partly fixed Missed Sample config errors Fixed Partly fixed Stray Docker Compose file Missed Missed Small stuff (test script, naming, typos) Partly fixed Partly fixed Score (out of 16) 9 7 The bigger gap is in testing. Claude Code wrote 63 tests, including one that checks the proxy still speaks hixie-76, an ancient draft of WebSocket, for the Kindle's old browser. Both suites ran on Node 24, so the server deployment was the real test. Argon wrote four. That difference showed up in my logs, too. When I pointed both at a Home Assistant that was missing two of the calendars in my config, Argon's proxy logged one error for the whole list, while Claude's logged each calendar separately and carried on. Claude had even written a test for it, named "one failing calendar does not blank the others." What each run costs in tokens Claude Code Gemini 4 Argon Plan Claude Max, $100/month Google AI Pro, $20/month Time to finish 33 minutes 28 minutes Weekly quota used 1 point 18 points Argon used 18% of my weekly Argon allowance on Google AI Pro in one 28-minute run, so a $20 plan gets you about five runs like this one a week. Claude Code moved my Max weekly meter by a single point and reported $5.33 of API-equivalent usage, though the plans aren't comparable at $100 against $20. Antigravity's usage panel only shows percentages, so you can't work out what a session actually costs. Claude Code's /usage screen breaks it down by model. Only Argon touched the parts you can see, and that's where it went wrong After its CSS tweaks, two of the five cards vanished on the Kindle Server tests only tell you so much, so I deployed each version to its own port on the LXC and loaded it onto the Kindle. Both connected, rendered the dashboard, reconnected after a reload, and handed control back to the Kindle when I pressed the power button. Claude's version kept the original layout, since Claude only added style rules and didn't change any existing ones. Argon did, without being asked and without any way to see the screen. It widened each forecast column from 138px to 142px and each sensor card from 328px to 332px, and thinned a few borders. Rendered in a desktop browser at the Kindle's resolution, those changes look harmless. On the Kindle, Monday's forecast was wrapped into a second row, the cards dropped from two columns to one, and the Kitchen Humidity card and the Office CO2 chart vanished off the bottom of the screen. That chart is the only graph on the whole dashboard. That's a real impact of a one-pass fix, but to be fair to Argon, nothing should be done in one pass. That goes double when there's a visual element to the code, and a few rounds of adjustment would get those missing cards back. Argon fixed two things Claude Code ignored Sure, Argon broke the left side of the screen, but the right side genuinely improved. My light buttons have always been cut off at the bottom, with only three and a bit of the six visible, and with Argon's changes, all six fit. It also replaced the icons I'd inherited from the original project, so my Office card shows a thermometer instead of a bed, and CO2 gets a cloud instead of a solar panel. I never fixed these, because I moved onto other projects. Claude Code left both of those exactly as it found them. Its final summary even admitted that the work was uncommitted and untested on real hardware, which is honest, if not exactly reassuring. And neither agent caught the bug that was right in front of me. On both versions, my clock was an hour ahead days after the change, and the likely culprit is a clock code that skips its own daylight saving rules whenever the Kindle reports a time zone. The agent I'd trust is the one that changed less Okay, "only one left it better" is a little harsh on Argon, because its proxy fixes are solid, and it got the light buttons right. But a dashboard is something you look at, and Argon's version shows me less than it did before the run. Claude Code fixed more of the hidden problems, tested its work far more thoroughly, and left everything on screen where it was. Guess which one is running on my windowsill. The lesson isn't really about Google versus Anthropic, though. Neither agent could see the Kindle, so the one that made visual changes was guessing, and a few pixels of guessing is all it takes on an e-ink screen from 2015. Antigravity's usage panel also has a quota for Claude models, so my next test is running Claude inside Antigravity, which should show how much of this comes down to the model and how much to the tool around it. If you've got a half-finished side project gathering dust, give an agent a copy of it, not the original, and check every change it makes on the real hardware.
I gave Gemini 4 Argon in Antigravity and Claude Code the same messy side project, and only one of them left it better than it found it
Full Article
Original Source
Read the full article at Xda-developers →KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.