Now in beta — one review layer for the whole web

Review on top of
anything.

A live site, a web app, a Markdown doc, a PDF — or a dist/ straight from your coding agent. Capture it once, invite people by link, drop flags right on the page, and hand the decided punch-list back to whoever builds next.

No passwords, ever — continue with Google Microsoft Apple

Free while we're in beta.

YO S JL 🐸 No script tag, no SDK — the thing under review absorbs zero infrastructure.
01

Capture

Point us at a URL or upload a build. We snapshot it to a durable, commentable, access-controlled link — JS still runs.

02

Flag it

Guests follow a link, claim their colors, and drop pins to raise flags on real elements — threaded, with emoji, live, no onboarding.

03

Decide & close the round

Decide every flag — will fix, won't, fixed. When the maybes hit zero, export the punch-list and hand it to whoever builds next.

One layer, any format

If it renders, you can review it.

Landing pages, web apps, Markdown docs, PDFs — comment.gg is one review layer that sits on top of all of them. Same flags, same threads, same close-the-round flow, whether a human wrote it or an agent shipped it. Stop scattering feedback across email, Slack, and screenshots.

YO Landing page
JL Web app
🦊 Markdown
S PDF
Claim your colors

Everyone gets a flag.

The flag is our signature. Every person in a review claims their own — a solid, a two-tone split, or an emoji — so you always know whose flag is whose, on the page and in the thread. A little identity, zero accounts to wrangle.

YO You solid · denim
SM Sam M. solid · clay
JL Jordan L. two-tone
RK Riya K. two-tone
🌵 Alex O. emoji
💅 Pim emoji
🦊 Guest emoji

Colors are assigned from a name and yours to change. Agents get a flag too — always visibly an agent, never disguised as a human.

Agent-first

Your agent ships it. You just review.

Connect your coding agent to comment.gg over MCP and it runs the whole loop: captures its own build, hands you a link, waits for your flags, then pulls them back as structured JSON — selector, quote, screenshot, and the change request, verbatim — and revises. You only do the part humans are good at: deciding.

See the agent-first workflow
{
  "status": "open", "page": "/pricing",
  "target": {
    "selector": "#plans .tier:nth-child(2) h3",
    "textQuote": "Pro — $12/mo"
  },
  "request": "Change Pro to $14/mo, add 'billed annually'."
}
Two ways in

Same review layer. Two front doors.

Run a round with a team of humans, or let your agent run it for you. Pick where you start — the loop is the same.

GG.

Every round ends the same way.

Flag it, decide it, fix it — until the maybes hit zero and there's nothing left to argue about. Feedback should converge, not pile up. GG — go next.

Get started free