Project

Nudge

Drag on the running page, paste measurements into your agent

Open source, MIT licence  ·  2026

What it is

Nudge is a bookmarklet for the last stretch of building a site with a coding agent. That stretch is small visual corrections. A subhead capped too narrow, an image half a line off the text beside it, a gap that should match the one above. Writing "the button on the right in the third section, move it under the one to its left and make it a little wider" takes longer than making the change, and it is still ambiguous.

With Nudge you click the bookmark on the running page, select an element and drag it. You can resize, move by a pixel with the arrow keys, edit text in place, and step type sizes and colour tokens. When a section looks right you copy the batch and paste it into your agent as the whole message, and the agent edits the source.

Nudge widening a capped headline, then the agent applying the batch to the sourceOpen source, September 2026

How it works

Nudge reads the rendered page, so it works on anything a browser can open, whatever the stack. A batch is plain text. Each entry names the element by its selector path and a snippet of its text, then states what changed and what it now lines up with. One line from a real batch reads "width 400px → 558px (was capped by max-width: 400px)". Where a size snapped to another element's size, the batch says the two match, which tells the agent they belong together.

It is one file of vanilla JavaScript with no build and no dependencies. Installing it means dragging a link from the install page to the bookmarks bar. A project can also load it in development only, where it waits as a small dot in the corner of the page and refuses to run on a public address.

Two decisions

Nudge never writes to your files. It reads the rendered page and has no knowledge of how the source expresses what it sees. The agent has that knowledge, so the edit belongs to the agent. The change that lands in the code arrives as an ordinary agent diff that you can read before you keep it.

A move is recorded as a relationship wherever one exists. If you release an element on a guide, the batch says its bottom edge now aligns with the bottom edge of its neighbour, and it tells the agent to express that with layout such as alignment or grid placement. A bare pixel offset would be true at one viewport and wrong at the next. Only the axis you moved on is written down, so a vertical drag never reports a left edge that already lined up.

Nudge as a dot inside Claude Code's browser, with batches pasted into Claude Code beside itOpen source, September 2026
Nudge, the install page.Open source, September 2026

Contact

I build AI products and take on interim design leadership. I'm open to the right VP, Head of Design or Design Director role in London, where design has to become a real function and the AI question is live.

Email gideonb@me.com, connect on LinkedIn, or download my CV.