The harness uses Gemini 3.0 Flash end-to-end btw.
Posts by Vinicius Dallacqua
I had my agent browsing around @nearestnabors.com comics and using the exposed tools to find me recommendations to read.
@developer.chrome.com have done something amazing here and I can't wait for more sites to have it available.
WebMCP is a great new spec and I've been playing around with it in my own implementation into my web browsing agent harness.
It brings interactions to a fraction of the time and sessions get faster and also 'cheaper' for the models.
This React -> Web Components post by the MDN team touches on challenges and solutions I've seen dozens of times over frontend's lost decade. Kudos to them for the improvements in performance, and the bravery to tell the story in an unvarnished way:
developer.mozilla.org/en-US/blog/m...
@developer.chrome.com is building something amazing here!
And, the harness built with agent-browser is so effective that the chat, browsing agent and WebMCP agent are using
@developers.google.com Gemini 3 Flash.
Here's a demo video of the agent I'm building with that stack:
youtu.be/QsV0Wb1ezHg
Tthe baseline for the browsing agent I've built can navigate around and perform tasks for me but takes several turns, spends more tokens and takes more time.
After implementing WebMCP into the harness, tasks that took several turns became instant (for pages that exposes the features)
I've been playing with building a personal assistant meets browsing assistant for mobile web and had to experiment with WebMCP as part of the experience.
It's amazing to see the experience when the browsing agent performs tasks instantly instead of wasting turns to perform a task.
myth: LLM-assisted coding means everyone is forced to use The Popular Framework forever
reality: agents will happily migrate your entire app to The Good Framework
inertia is a powerful drug but we are entering a world without moats, plan accordingly
strawberrybrowser.com/blog/react-t...
Table titled “Results” showing reductions in JavaScript bundle sizes for web performance features. Columns: Skill, Before, After, and Reduction. • webperf-loading: 24,199 B → 11,149 B (−54%) • webperf-core-web-vitals: 13,890 B → 10,266 B (−26%) • webperf-interaction: 17,143 B → 12,443 B (−27%) • webperf-media: 13,273 B → 12,017 B (−9%) • webperf-resources: 11,700 B → 11,026 B (−6%) • Total L2: 82,916 B → 59,612 B (−28%) The table highlights overall bundle size reduction after optimization.
When a Skill activates, its SKILL.md loads into context. The webperf-loading was 24 KB, most of it unnecessary to decide which script to run
I applied progressive disclosure and brought it down to 11 KB
#WebPerf #Performance #AI #AIAgent #AIPerf
I talk often about breaking out of walled gardens, that you don't have to be on corporate-web in order to be on the web.
This is a fantastic article about the problem and how to (pretty easily) fight it. Well worth reading.
Also, @strange.website is a rad human being.
henry.codes/writing/a-we...
Using Opus 4.5 I turned Claude Code and agent-browser into my personal AI lab and triggered differernt sub-agents and 'co-workers' to independently explore in a sandbox the best way to converge into a good set of guardrails, tools and CoT prompt autonomously
Full article here
dev.to/viniciusdall...
They converged on similar patterns I've seen other browsing agents use under the hood. But some of the findings and the process I took taught me quite a lot.
On the YT link you can see an early experiment of this browsing agent with Kernel.sh as the CDP session provider
youtu.be/yzzec2KFI7c
Instead, I carefully created an experiment on the problem. No shared context, no instructions and no specific method in mind and let them figure out how to drive a browsing session based on a goal independently.
I have a 'neuve' side project and I'll start writting more about it here.
This time the writeup brings some of my experience when developing the browsing aspect of, I stopped telling AI agents what to build.
I've actually used the learnings on how to compress trace information into a more token efficient format in a custom pipeline using Firecrawls's response (MD representation of a web page) into something more efficient, I'm calling CMD (Compressed Markdown DSL), but that's a writeup for another time.
I've written about my journey building PerfAgent and my learnigns on DevTools source code on last year's PerfCalendar:
calendar.perfplanet.com/2025/teachin...
What a banger of an article
developer.chrome.com/blog/designi...
Great job by the @developer.chrome.com team and as someone who has been very deep into the codebase and actually saw the evolution written in this article, and extracted it to build PerfAgent
Two screenshots from Chrome DevTools side-by-side. On the left it says "Before" and shows that rendering took 1518 milliseconds. On the right it says "After" and shows that rendering took 610 milliseconds.
Here's your friendly reminder that CSS selectors are global and evaluated RTL, so if you have selectors that are very broad like `.container > div` you might be impacting performance in a measurable way 🙈
Before and after profile of server switching after some selector optimizations in @discord.com
Wrapping up the year with my article for the Perf Calendar with my write up about how I ended up creating agent.perflab.io!
It has AI, it has Perf…what else could you want 😎🔥
I’m always happy to see my content in the Performance Calendar!
Thanks for the initiative @stoyan.me !
My gist “How Browsers Work” has been updated with a new post: “How modern browsers work” by @addyosmani.bsky.social
gist.github.com/nucliweb/c16...
#WebPerf #Browser #WebDevelopment
A link to join the web perf slack at performance.now()
No lies detected.
Quite the journey!
I’m super hyped and happy to announce that I’m getting even deeper into helping agents reason about software quality as I join QA.tech!
Since I’ve started working on PerfLab and then PerfAgent this has become an obsession. Now I get to do that full-time and I could not be more thrilled!
Having done the same mistake I can say that it is a lesson learned.
Screenshot of a table titled “Proposed plan”, showing some updates to speculative rules, from the doc linked in the next post
something very cool to see: Chrome recently shipped automatic <link rel="prefetch"> for all links in viewport
you could do it previously with libs like Quicklink, but it’s super cool to see this implemented natively
(it’s off by default, enabled with one html tag)
Wrapping up the writting part for my talk at @perfnow.nl this weekend and I'm beyond excited for this one. Prepare for a deep dive folks!
✨SPDY STREAM 010 ✨ with Jacob Groß
📢 As mentioned during yesterday's stream, Jacob is our next guest, and we shall cover tag mgmt and the deleterious effect they can have on performance, esp web vitals and possible solutions. Join us!
📆 Wednesday Sept 17th
⏰ 1PM EDT
🔗 bit.ly/spdy-stream-010
I'm also open for consuntancy, so reach out if you are looking to collaborate.
I've been building v0.perflab.io agent.perflab.io and other cool stuff, with V0 SDK, AISDK and Mastra
Also have interest on browsers and DevTools with my own projects and forks of it to ship my own autonomous agents.
Am currently trying to get my own thing off the ground prototyping an intersection of browsers and personal assistants and also autonomous coding agents that are capable of self improving.
Hit me up know if you know of any oportunities around 🫡