Feedback lands everywhere except the build
Screenshots in chat, a bullet list in a doc, a voice note. By the time it reaches the person fixing it, nobody is sure which page, which state, or which build it was about.
A shared eye for the details
PreviewPin opens a preview build in a shared room. Click an element to pin a comment or a bug. Your team sees it live, and it follows the branch until it is fixed.

Let’s give this image a little more room.
The problem
Screenshots in chat, a bullet list in a doc, a voice note. By the time it reaches the person fixing it, nobody is sure which page, which state, or which build it was about.
Vague notes cost a round trip to find the element, then another to check the viewport. Most review time goes to locating problems, not fixing them.
A preview URL pasted into a channel is a public URL. Unreleased work is one forward away from anyone.
The next deploy replaces the preview and the conversation about it is stranded on a link that no longer matches what is live.
What you get
Click anything in the preview to start a thread. The pin records the route, the viewport, the element, and the build it was made on. Thread one stays thread one.
Everyone reviewing the branch sees new threads, replies, and status changes as they happen, and who else is in the room and where they are looking.
Mark a thread as a bug, flag it as a blocker, resolve it, reopen it. Filter by route, by author, by what is still open.
Threads belong to the branch, not the deploy. A new build shows up on its own and the open threads come with it.
Previews open inside a review room. Access is a single-use ticket issued to a signed-in reviewer, and you can revoke every session with one click.
Point PreviewPin at your Workers projects. Every preview version becomes a room. No SDK, no changes to the app under review.
How it works

PreviewPin is in private use while we finish it. Sign-up will open when it is ready.