Comments for live websites and coded prototypes
Pin feedback to the exact element, for designers, developers, and agents.
Alex points at the revenue figure on Fernhill's dashboard, clicks to drop a pin, and posts “Can we see this by week too?”.
One place for every comment. Right on the page, where the work is.
Point at the exact thing. A pin holds on to the element, so it follows when the layout changes.
Talk it through, live. Reply in threads, mention a teammate, react with a heart.
Close the loop. Resolve a thread when it’s done, or copy it as Markdown for your agent.
No accounts for guests. Anyone can comment with a name and a colour.
React with anything. Any emoji, on any comment, with a count everyone sees.
Matches your site. Dark or light glass, or follow the page.
Every thread, every page. The tray lists this page first, then the rest.
Try it in a minute. Add it to your page, press C, and comment on anything.
Add Dogear to your site
One package, and one component near the root of your app. Then press C, click what you mean, and write.
$ npm install @harshi04/dogear
import { Comments } from "@harshi04/dogear/react";
<Comments shortcut="c" />Comments stay in your browser until you add a backend.
Using plain HTML or Next.js? See the setup for your siteHand it to your coding agent
Paste this into Claude Code, Cursor or Codex. It looks at your project, asks you four questions, then sets up comments and a backend to match. Your secrets stay with you.
- 1Where should comments live?
- 2Who can comment?
- 3Who should see them?
- 4Can your agent reply?
Questions people ask. Anything else is in the README.
Yes. It’s MIT licensed, with no paid tier and no hosted service. You run it on your own site and your own backend.
Wherever you choose: Postgres, a JSON file or memory through Dogear’s route handler; Supabase, Firebase or your own API through a small adapter; or the browser’s localStorage while you try it out.
No. With guests on, a visitor gives a name once and comments under a signed cookie. Or connect your own sign-in, and comments come from your users.
Plain HTML through a script tag, React, and Next.js. The server side is one route for any Node server, such as Next.js or Hono, and a CLI gives you
dogear servefor a local comments server.A pin is stored against its element: a selector plus the element’s text. It follows the element through scrolling and resizing. If the text changes, the pin gets an amber dot, so you can see which feedback may already be dealt with.
Yes.
dogear mcpis an MCP server for Claude Code, Cursor, Codex and other clients. It reads the threads on your pages and, if you allow it, replies and resolves them. Every thread can also be copied as Markdown.Choose dark or light glass, or follow the visitor’s system. Swap in your own icons and font, and restyle anything with the
--dogear-*CSS variables.The plain-HTML script is about 60 KB gzipped. It draws everything in its own shadow root, so your styles and Dogear’s never meet.