How DevPin works

DevPin collects point-and-click feedback on a web page and carries it all the way to a verified fix. This page is the mental model; Install has the copy-paste snippets.

Sending this to a client or tester? Forward them How to give feedback instead, it is written for them and needs no technical background.

The two kinds of people

This is the distinction that explains everything else.

  • Reviewers (clients, QA, stakeholders) submit feedback through the widget. They never get a dashboard account, are never charged for, and are unlimited on every plan. They only ever see the page they are reviewing plus their own verification link.
  • Team members sign in to the dashboard and triage. Roles are owner (billing and deletion), admin (settings and team), and reviewer (view and triage pins).

The lifecycle of one piece of feedback

  1. 1Reported. A reviewer clicks the spot on the page, draws on the auto-captured screenshot, and writes what is wrong. DevPin attaches the browser, OS, viewport, the element selector, console errors, and failed network requests automatically.
  2. 2Triaged. The pin lands in your project as Open. You assign it, set it aside, fold duplicates together, or send it straight to a fix.
  3. 3Fixed. Turn the pin into an AI fix-prompt, a GitHub / Linear / Jira issue, or a pull request opened by Claude. All the captured context travels with it.
  4. 4Awaiting check. You mark it Addressed. That is a claim, not a closure, so DevPin emails the reporter a link asking them to confirm.
  5. 5Verified. The reporter opens the link (no account needed) and picks "Yes, it is fixed" or "Still broken". Confirming closes it as Verified. Rejecting reopens it with their note attached.

A pin can also be Dismissed if it is not something you will act on. Only the reporter can mark something Verified, which is why the board does not offer it as a move.

Setting up a project

  • Create the project and copy the one-line snippet into your preview, staging, or production build.
  • Choose who can leave feedback. Open lets anyone on the page submit, which suits a public beta. Invite-only restricts it to the email addresses you list, which suits client UAT. The check is enforced on the server, not just hidden in the widget.
  • Choose the review mode. Feedback is the default pin-an-issue flow. Approval turns the widget into a per-page sign-off: reviewers approve or request changes, and you get a sign-off log.
  • Choose what a pin becomes. AI fix-prompt renders pins as prompts for Cursor, Claude Code, or Copilot. Bug report renders them as human-readable issues.

Getting fixes out of it

  • Fix prompt , copy a ready-to-paste task, optionally polished by Claude, carrying the page, element, geometry, and captured diagnostics.
  • Create fix PR , files a GitHub issue tagged @claude so the Claude Code Action opens a pull request.
  • Export to your tracker , one click into GitHub, Linear, or Jira, assignee included.
  • CLI and MCP , pull feedback into your terminal or connect it directly to your editor agent. See Install.

Staying in the loop

  • Slack , connect an incoming webhook and new feedback posts to your channel as it lands.
  • Webhooks , we POST a JSON payload on pin creation for your own automation.
  • Reporter email , sent automatically when you mark something Addressed. Every one carries an unsubscribe link.

Triage views

List groups pins by page, which is how you work through a review round. Board shows Open, Awaiting check, Verified, and Dismissed as columns, which is how you run a sprint. Filters cover status and assignee, including "assigned to me".

Duplicates

When several reviewers hit the same bug, fold the repeats under one primary. The list then shows the primary with an "N similar reports" expander, and building a fix prompt from it bundles every reporter's wording into a single task.

Frequently asked

Does the widget need to be on every page? No. One script tag in your app shell covers every route it renders.

Do reviewers need an account? No, ever. They type an email once and stay recognised on that device.

Can I use it on production? Yes. Invite-only mode means only the addresses you list can see or submit anything.

Does it slow my site down? The widget is a single small script, loaded with defer, and renders inside a shadow DOM so it cannot affect your styles.

What if the same person reports two things? Each pin is tracked and verified independently.

Still stuck?

Email support@devpin.app. You will reach the people who build it.