fmerian

Handle Extension - Refine UI in the browser, feed changes to your coding agent

by•
Point and fix. Refine UI directly in your browser instead of endlessly re-prompting your agent. Works with Claude Code, Codex, Cursor and others.

Add a comment

Replies

Best
Derek Cheng
Maker
📌

Hey Product Hunt! 👋 I’m Derek, founder of Handle.

Coding agents are great at the first 80% of UI. But for that last 20%, when you need to make tweaks for final polish, you end up constantly re-prompting it... it's a sledgehammer when you need a scalpel. The best of both worlds is to do the first draft with the agent and then directly fine-tune it by hand with visual tools.

We built Handle, a simple open source MCP + Chrome extension to solve this. We hope it's useful to the community!

Ask us anything, give us feedback, or share how your AI-powered development workflow is changing. We’ll be around to chat all day.

Lakshay Gupta

Much needed tool! Btw are you modifying the DOM directly and then reverse engineering code or working through an abstraction layer?

Derek Cheng

@lak7 We inspect the DOM directly and also look at associated component-level metadata for React, Vue, Angular, etc. When you make edits, we reflect them on the page immediately but also build up an instruction list for your coding agent so you can land all changes in the codebase

Lakshay Gupta

@derekattonkotsu Interesting, that's a cool approach!

Derek Cheng

@lak7 Please share feedback when you've had a chance to test. We're very open to feedback as we refine and evolve the tool.

Lakshay Gupta

@derekattonkotsu Sure, I will definitely try it out and share my feedback!

Christophe Dupont

Ok this is solving something that's been driving me crazy. Half my Claude Code prompts are me trying to describe pixel-level UI tweaks in words. "Move that button 8px to the right, no the other right, no go back." Point and click is how this should have always worked. The fact that it's open source too is a nice touch. Does it handle complex component trees well or does it get confused with deeply nested layouts?

Derek Cheng

@thenomadcode thanks for that! Yes, we map out the full DOM and associate DOM elements with React, Vue, Angular, and Svelte components. So you should be able to precisely select anything in the hierarchy either by just clicking or navigating the tree.

Mykola Kondratiuk

the direct manipulation approach makes sense for UI - natural language is a terrible interface for 'move this 4px left'

Derek Cheng

@mykola_kondratiuk 100%. Making visual edits via a prompt is so imprecise and time-consuming. Our thinking is this is the best of both worlds: use the agent for the first draft, but then use Handle to bring your taste and judgment to the table and refine.

Mykola Kondratiuk

Makes sense — prompt for intent, direct manipulation for precision. Solid split. Does Handle expose the prompt history so developers can audit what triggered which UI change? That audit trail becomes critical when you're debugging agent-generated diffs in production.

Derek Cheng

@mykola_kondratiuk We have a Changes tab so as you accumulate changes, you have a log. Curious - what do you use for this workflow now? Do you tend to just go back and forth with the agent on refinements?

Mykola Kondratiuk

Mix of Notion notes and git commits right now — neither is built for the agent edit loop. The Changes tab solves a retrieval problem I didn't know I had. Persists across sessions?

Mike

Really enjoyed using this, as a vibe coder who used to code with Dreamweaver (before it was bought by Adobe!), I felt like I had to get in the weeds with the techincal detail, but is made adjusting the website with Gemini CLI so easy! I was sick of saying things like "that black box on page 2 with the xyz in it, make it bigger'!

Great product for me!

Derek Cheng

@mike05683 Awesome to hear this! What's your workflow like? Sounds like you use Gemini CLI - is that directly on the production codebase?

Ivo Tzanev

What's the fallback behavior when the browser edits create conflicting suggestions for the coding agent? If I'm editing a component that has dependencies the agent doesn't have in its current context window, does it alert you or just apply?

Trying to understand if this is designed for quick visual tweaks or if it handles more complex component refactoring workflows.

Derek Cheng

@ivaylotz The Handle browser extension aggregates the edits you've made and notes the containing element and the containing React/Vue/Angular/Svelte component. It sends these notes back to the agent via MCP. The agent then does what it usually does, which is to say it formulates a plan to execute the changes and if it needs context (e.g. dependencies) that aren't in its context window, it will explore your repo. Handle is really designed for visual tweaks -- that's the part current coding agents aren't great at and which take a lot of back and forth.

Natalia Iankovych

Is there integration with Figma? We’re currently building the frontend in Claude Code, but the design is in Figma, so first we need to build a basic frontend and then refine it.

Derek Cheng

@natalia_iankovych The extension doesn't currently integrate with Figma. It's about making visual refinements in situ in the browser. So as Claude builds the frontend, when you load it in your browser, you'll catch all sorts of issues that maybe were not initially addressed in the Figma or which Claude got wrong. This helps you shorten that feedback loop substantially.

Lennart Rikk

Hey! I tried to use it, installed everything, but the chrome extension's "select" element tool isn't working for some reason.