pagepin Features Self-host Sign in GitHub
Self-hosted · Apache-2.0 · single container

Self-hosted static page hosting with pin-point review comments — feedback your AI agents can actually fetch.

Deploy any HTML with one curl and share the link. Reviewers pin comments on elements; your agent pulls the open feedback as structured JSON — selector, kind, resolved — fixes the page, and redeploys. The review loop, closed.

$ curl -sf -X POST https://pagepin.ai/api/sites/my-report/deploy \
    -H "Authorization: Bearer $PP_TOKEN" \
    -F "files=@report.html" -F "paths=index.html"
# → { "url": "https://pagepin.page/you/my-report/", "version_count": 1 }
Star on GitHub See it in action No account needed to read the docs.
The loop

Comments stop being screenshots in chat. They become an API your agent reads.

01
Agent deploys
One curl publishes an atomic version and returns a shareable URL.
02
Teammates pin
⌘+click any element to drop a comment thread — copy, style, question or bug.
03
Agent fetches
GET …/comments returns open threads as JSON: selector, kind, resolved.
04
Agent fixes
Locate by selector, edit, redeploy. Pins re-anchor across the new version.
…then the agent loops — every redeploy re-anchors the open pins.
GET /api/sites/my-report/comments
[
  {
    "id": "t_4",
    "selector": "table.lanes tr:nth-child(4) td.wow",
    "kind": "bug",
    "rx": 0.42, "ry": 0.5,
    "resolved": false, "stale": false,
    "page_path": "index.html",
    "url": "…/my-report/#pp-comment-t_4",
    "comments": [
      { "author": "mira",
        "text": "−68.9% looks wrong — holiday gap?" }
    ]
  }
]
pagepin.page/you/my-report/
Cargo report
Q1 Outbound — Weight by Lane
ActualWoWWeek
764,710+8.4%03-29
237,925−68.9%04-05
1
4
Bug#t_4
M
−68.9% looks wrong — holiday gap?
Comment2 ▶ Review
The console & overlay

A console that's a control panel — and an overlay that rides on any page.

app.pagepin.ai/sites
pagepin @you Y
q1-cargo-reportPublic 71h
Q1 Outbound Cargo — Weight by Lane
v4
2h ago
pricing-v3Private
Pricing page rebuild
v12
5h ago
onboarding-flowPrivate
Mobile onboarding prototype
v3
1d ago
launch-micrositePublic 24h
Launch microsite (build output)
v8
3d ago
Sites at a glance. Slugs, visibility, version count — deploys come from your terminal, so the console is a control panel, not an uploader.
pagepin.page/you/q1-cargo/
Data-agent report
European lane forecast
2
3
Review 2/4 Question Resolve
The comment overlay. Numbered pins by kind, a region box on images, and one command bar that drives a guided Review Walk — injected into served HTML, never blended into it.
The adoption path for agents

Teach your agent pagepin in one line.

Paste this URL into your agent's instructions — CLAUDE.md, a system prompt, a custom GPT, anything that reads markdown — and it can deploy pages and fetch review feedback on its own.

https://pagepin.ai/skill.md
CLAUDE.md AGENTS.md system prompt custom GPT Cursor Rules
/skill.md served at runtime · instance-aware
Deploy a page
$ curl -X POST …/api/sites/{slug}/deploy \
    -F "files=@page.html" -F "paths=index.html"
Fetch review feedback
$ curl …/api/sites/{slug}/comments
[{ "selector": "h1.title",
   "kind": "copy", "resolved": false }]
What you get

Small surface, sharp edges.

Atomic versioned deploys
Redeploy a slug to publish a new immutable version. Full history, one-call rollback.
Private by default
Viewing requires login. Make a site public for a bounded window — it auto-reverts to private.
Pin comments, four kinds
A lightweight overlay injected into served HTML. Copy / style / question / bug, threaded and resolvable.
Built for agents
The instance-aware API guide is served at /skill.md — point your agent at it and it drives the whole loop.
Pluggable auth & storage
Email/password, any OIDC provider, or none for dev. Store on local disk or any S3-compatible bucket.
Single container
One Node process + SQLite, React console included. Docker run, or build from source. Tiny footprint.
Two ways to run it

Host it yourself, or let us.

Run it yourself Apache-2.0
One container, your data, your domain. SQLite + local disk by default; swap in S3 and OIDC when you need them.
docker
$ docker run -d --name pagepin -p 8000:8000 \
    -v pagepin-data:/data \
    ghcr.io/pagepin/pagepin
Read the docs on GitHub →
pagepin.ai Beta
We run the instance — you sign up and deploy. Same API, same overlay, zero ops. Free while in Beta.
Managed instance — atomic deploys, the comments overlay, the agent API, all running.
Public links and OIDC sign-in out of the box; nothing to operate.
Free during Beta with fair-use quotas — export and self-host anytime.
Sign in to the console
pagepin Feedback your agents can fetch.
GitHub /skill.md Sign in
© 2026 pagepin Apache-2.0 One Node process · SQLite · pluggable storage