Pincushion for v0.
v0 turns a prompt into real UI you deploy to Vercel. Pincushion adds the feedback layer on top: clients and teammates pin what's wrong on the live page, and your coding agent ships the fix from the pin. Because v0 apps are Next.js on Vercel, there's a one-line component for it — or a plain script tag.
You generated an app. Now what did people think?
v0 gets you a polished first draft fast, but review still happens in Slack threads and annotated screenshots. Pincushion moves it onto the page itself: each pin carries the exact element, a screenshot, the viewport, and the discussion — an unambiguous work packet your agent can implement without you translating anything.
v0 generates the UI. Pincushion is where the feedback on it becomes code.
Add pinning in one step
v0 apps are Next.js, so the tidiest option is the Pincushion Next.js component — one line in your root layout, active only on dev and preview. Or drop the script tag into your layout's <head>:
<script src="https://pincushion.io/widget/pin.js" data-project="YOUR_PROJECT_ID" defer></script>
For the component route: npm i pincushion-next, then render <PincushionPin project="YOUR_PROJECT_ID" /> in app/layout.tsx — see the Next.js guide. Register your v0/Vercel preview + production URLs on the project.
The loop, end to end
- Anyone drops a pin. A client, a teammate, or a tester right-clicks any element on your v0-built app and leaves a note — no account, nothing to install on their end.
- The pin becomes a work packet. Selector, screenshot, viewport, and thread are captured automatically.
- Your coding agent ships it. Cursor, Claude Code, Codex, or Windsurf reads the pin over Pincushion's MCP server, writes the change, and resolves it — commit, branch, and PR recorded on the pin.
New to Pincushion? Start with what a visual feedback MCP server does. On Next.js already? The Next.js guide has the full setup.