Disclosure first: I’m one of the people building this. This is a “please break it” post, not a recommendation.
The problem we kept hitting: you make a definition that solves something for a client or a consultant, and then there’s no way to hand it to them. They don’t have Rhino, they won’t install Grasshopper, and you end up baking twenty options and sending a PDF. Or becoming a human API, re-running the same definition every time someone wants a different option.
So we built gh-bridge, as part of our tools platform. It’s a tray app on Windows that connects headless Grasshopper on your machine to a browser viewer.
How it works:
- Drop a
.ghfile onto the bridge - Any slider you prefix
IN_(IN_Grid,IN_Angle) becomes a control in the browser - Any component you label
OUT_(OUT_Facade) streams its geometry to the viewer, with materials, colours and mesh vertex colours - You get a sharable link. Whoever opens it moves the sliders and sees the definition re-solve: no Rhino, no Grasshopper, no plugins on their end
The honest limitation: your machine is the solver. For a shared link to keep working, your computer has to stay on, online, with the bridge running. It’s not a cloud compute service and we’re not pretending it is: it’s your Grasshopper, reachable through a URL.
The flip side is the reason we built it this way: because it runs on your machine, everything you already own works. Every plugin, every custom C#, every external tool the definition talks to. No porting, no waiting for us to support a library.
Setup and the naming convention: How To: GH Bridge
Download the bridge and sign up: app.differential.tools
What I’d actually like from this forum: feel free to throw definitions at it that I wouldn’t think to test. Heavy meshes. Deep data trees. Definitions leaning on Kangaroo, Ladybug, Karamba, etc. Long solve times. Things where OUT_ geometry is enormous or changes topology on every solve. I’d love to know where it chokes, what it renders wrong, and what a control in the browser should be able to do that a slider can’t.
Ask me anything here: bugs and feature requests both welcome. I’ll reply to everything, and what comes out of this thread shapes what we build next.
Cheers,