Visual feedback for internal tools

Install one script, turn on feedback mode, and let teams pin comments directly to the page. Lightweight enough for production admin apps, persistent enough for real collaboration.

Framework-agnostic. Low runtime overhead. Screenshots on demand only.

# Install the Visual Feedback Widget
<script src="https://cdn.elementsnap.com/vfw.min.js"></script>
<script>
window.VisualFeedbackWidget.init({
  workspaceKey: "acme-admin",
  mode: "managed",
  getAuthToken: async () => fetchToken(),
  routeResolver: () => ({ pageId: "/admin/users", pageTitle: document.title }),
  user: { id: "u_123", role: "manager" }
});
</script>

Built for precise review

The new product direction is focused on internal tools, admin portals, and operational interfaces where vague feedback slows teams down.

Floating launcher

A small feedback entry point with unresolved counts that stays visible without blocking the host app.

Click-to-pin comments

Enter feedback mode, click anywhere on the page, and anchor a comment to the exact interface context.

Persistent shared history

Comments survive refreshes, later visits, and teammate handoffs until they are resolved.

This Page and All Comments

Review feedback in page context or scan the full workspace with route-aware navigation.

Resolve and clear workflows

Keep discussion actionable with status history, role-aware actions, and clear-all confirmation.

Lightweight by design

No framework dependency, no always-on capture, and screenshots only when a workflow explicitly needs them.

Try the real widget flow

The public demo mirrors the actual product direction: open the launcher, enter feedback mode, pin a note on the page, and review the shared comment list inside a realistic internal-app shell.

Anonymous visitors get reviewer permissions only.
Demo comments expire from query results after 24 hours.
Clear-all stays disabled in the public sandbox.
Open feedback
4
Resolved this week
11
Pending review
2
Operations dashboard
Seeded with open and resolved feedback pins
Demo workspace

A lightweight review workflow

The packet defines a narrow and useful v1 loop: activate feedback mode, pin the comment, keep it visible until resolved, and make it easy to revisit from the current page or the workspace view.

Feedback mode: ON
Page: /admin/users
Open comments: 4
Ready to pin a note

Enter feedback mode

A reviewer opens the launcher and turns on a focused annotation mode for the current page.

Learn More
Pin #12
Comment: Button label is unclear
Element: .save-action
Status: open

Pin exact UI context

A click drops a pin and opens a composer near the interface element that needs attention.

Learn More
This Page
Open: 3
Resolved: 7
Go to pin

Review by page

Teams can reopen the page later and see the same pinned discussion exactly where it belongs.

Learn More
Resolved by: Maya Chen
Resolved at: 2:14 PM
Linked issue: Jira-142
Screenshot: optional

Resolve with history

Managers and developers can resolve comments, preserve history, or clear everything with confirmation.

Learn More

Tiny install surface

The packet is explicit here: one script tag, optional config, no framework assumptions, and no heavy capture code in the default path.

<script src="https://cdn.elementsnap.com/vfw.min.js"></script>
<script>
  window.VisualFeedbackWidget.init({
    workspaceKey: 'acme-admin',
    mode: 'managed',
    getAuthToken: async () => {
      const res = await fetch('/api/elementsnap/widget-token');
      const json = await res.json();
      return json.token;
    },
    routeResolver: () => ({
      pageId: window.location.pathname,
      pageTitle: document.title,
      pageUrl: window.location.pathname + window.location.search
    }),
    user: {
      id: 'u_123',
      name: 'George',
      role: 'manager'
    }
  });
</script>
1
Script tag
0
Framework deps
On demand
Screenshots only

Packaging that matches the workflow

Starter is the self-serve managed SaaS path. Growth and Enterprise stay sales-assisted so rollout, integrations, and deployment expectations can be scoped deliberately.

Starter

For one internal app

Lightweight first, then layered capabilities where they earn their weight.

  • Pinned page comments
  • This Page and All Comments views
  • Basic reviewer and manager roles
  • Managed cloud persistence

Growth

For cross-functional review teams

Lightweight first, then layered capabilities where they earn their weight.

  • Everything in Starter
  • Jira connector options
  • On-demand screenshot attachments
  • Multiple workspaces and structured workflows

Enterprise

For self-hosted or privacy-sensitive teams

Lightweight first, then layered capabilities where they earn their weight.

  • Self-hosted or BYO-cloud path
  • Advanced access controls
  • Connector extensibility
  • Implementation support and premium onboarding

Want to shape the first release? Talk to the team

Request pilot access

Tell us about your internal app, the review workflow you need, and how many collaborators should be involved. We use this to provision invite-only pilot workspaces.

Planned

Jira connector

Turn pinned feedback into structured issues with page metadata and optional attachments.

Planned

On-demand screenshots

Capture screenshots only when a comment or workflow explicitly needs it, not as an always-on runtime cost.

Planned

Enterprise deployment

Support privacy-sensitive teams with a BYO-cloud or self-hosted path that keeps the same widget contract.