Coding agents have transformed software development. It's now possible to do in a day what used to take weeks. Features that would have gathered dust in a forgotten Jira ticket now see the light of day! This wave will keep going, making developers more and more productive.
There are still bottlenecks in the product development, but they've shifted. Writing code is no longer the constraint. Taste and judgement are, and in software, there's no place where taste and judgement are more obvious than in the UI. Crafting thoughtful, distinctive, high quality user experiences is still a constraint. No one wants their product to be perceived as a generic slop cannon.
Handle
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.
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?
Handle
@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.
Much needed tool! Btw are you modifying the DOM directly and then reverse engineering code or working through an abstraction layer?
Handle
@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
@derekattonkotsu Interesting, that's a cool approach!
Handle
@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.
@derekattonkotsu Sure, I will definitely try it out and share my feedback!
the direct manipulation approach makes sense for UI - natural language is a terrible interface for 'move this 4px left'
Handle
@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.
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.
Handle
@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?
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?