PinAppAI

Visual feedback for shipping teams

Pin a comment exactly where it broke

A 6 KB embed widget that lets reviewers drop pins, approve sections, and request changes — directly on the live page. Self-hosted on Cloudflare Workers + D1.

Three modes, one embed

Free-form pins

Click anywhere on a page, write a comment. Position is stored as a percentage so pins survive layout changes.

Inspect mode

Browser-DevTools-style hover overlay. Pick a specific element — admin sees “this H1: ‘Manage operations…’”, not “pin at 47%, 32%”.

Per-item decisions

Mark `data-pp-item` on sections you want decisions on. Reviewers approve, reject, or request changes inline. Exports render top-to-bottom.

Embed in 30 seconds

Copy this into your and reload. Per-project API keys; CORS allowlist enforced server-side.

<script
  src="https://api.pinappai.com/widget.js"
  data-project="pk_live_your_project_key"
  defer
></script>

Get a real project key in 30 seconds →

Two ways to ship

Open source and self-hostable. Or skip the setup and use ours.

Use ours (hosted)

Sign up with your email, create your first project, get a widget snippet. No infrastructure to run.

Get started — free →

Self-host on Cloudflare

Clone the repo, deploy to your own Cloudflare account. Free tier covers most teams. Your D1 is your data — no vendor lock-in.

View on GitHub →