yash dhiman case study 02 / 02 · browzie next: saral
case study · 2026 · creator

let AI drive your Chrome. and actually watch it.

Browzie is an MCP server that lets Claude Code use your everyday, signed-in Chrome the way a person would: a cursor you can see, real clicks and keystrokes, your own logins, and every CAPTCHA handed back to you. no separate robot browser, no screenshots, no copied cookies.

my role
idea, architecture, all the code, the measuring, and the logo
stack
Node.js MCP server · Chrome MV3 extension · native messaging · a C# overlay
runs on
Windows 10 & 11, Chrome · macOS and Linux overlays on the roadmap
source
private for now, MIT licensed when it opens up
github.com
  • theyashdhiman04/BrowzieChrome control for AI agents, with a visible cursor
  • some/other-reponot this one
  • also/not-thiskeep scrolling, robot
claude
mcp · browzie
  1. › navigate github.com ✓
  2. › click [e14] search ✓
  3. › type "browzie" ✓
  4. › click [e31] result ✓
01

most agents teleport.

the usual way to automate a browser is to launch a separate one with a debugging port and fire synthetic events at it. it works, but it doesn’t look like a person: the pointer jumps hundreds of pixels in one frame, and press, release and click all land in the same millisecond.

Browzie keeps Chrome’s trusted input path and fixes how it’s used. every move follows Fitts’ law and a minimum-jerk speed curve, with a slight bow, a small undershoot and a correction, sampled like a real mouse.

click anywhere in the box. then switch modes and click again.

click to move the cursor
Sign in Add to cart Search

T = 110 + 125 · log2(1 + D / W) ms

02

measure first, build second.

before writing the real thing, i built a probe page that logs every event a website can see, then let my own mouse and a plain DevTools click cross it. same page, same second. the differences became the spec.

the takeaway was not “DevTools input is bad”. those events are trusted and land on the right screen coordinates. the giveaways come from how tools use them.

what a page can reada real mousea plain CDP click
path to the target~25 curved moves, 6 to 19 ms apartone 423 px jump
down, up, clickseparate momentsthe same millisecond
pointer pressure0.50
launching with a debug portnever needednavigator.webdriver = true
03

four hops, two milliseconds.

a zero-dependency chain: JSON-RPC over stdio, a local named pipe, Chrome native messaging. nothing listens on the network, and the pipe needs a 192-bit token. pages are read as compact text snapshots with element refs instead of screenshots, so the model reads less and acts faster.

Claude Codeasks: click “Search”
MCP serverJSON-RPC over stdio
native hostnamed pipe · 192-bit token
Chrome extensionservice worker + read-only page agent
lensC# overlay draws the cursor
0.0 ms
2msround trip through every hop
4msto snapshot a form page
0.00pxcursor error, overlay vs real pointer
22/22footprint checks passing
04

it works beside you, not instead of you.

🧩

CAPTCHAs go to you

bot checks are detected in every frame. Browzie stops, tells you, and waits. it never solves or works around one, and it never will.

🖱️

you always win

touch the mouse or keyboard in its window and control comes straight back to you. it also never steals focus from whatever you’re doing.

🔑

passwords stay yours

sign-in means picking a saved login from Chrome’s own list. the agent never sees the password, and there are no API keys or copied cookies.

🫥

nothing in the page

no injected DOM, a read-only page agent in an isolated world, and no user-agent, fingerprint or IP tricks. it’s just your browser.

05

the toolbox.

navigatesnapshotfindreadscreenshotclickhoverfilltypepressscrollwait_foruploaddialogtabssigninhandoffevaluatebatch

batch runs a whole flow in one model turn, and every action returns only what changed on the page, a diff instead of a novel. three paces, fast, brisk and human, decide how unhurried it is.

it ships with tests for all of it: unit tests for the motion and timing model, end-to-end runs on Chrome for Testing, a footprint probe, a benchmark and a cursor-accuracy check.

fun fact: a lot of the facts on this portfolio were collected by an agent driving my Chrome through Browzie’s private twin. it’s tools all the way down.

next case study Saral: a logo that speaks your language.