Skip the screenshots and endless email threads. Just click anywhere
on the page and leave feedback where it matters.
This blue feels a bit sad 🥲 can we warm it up to match the brand?
Chrome · macOS · 1440×900
This heading’s playing it shy on mobile — give it room to shout? 📣
Safari · iOS · 390×844
“Start a project” sounds like homework. Can it just say “Start free”? 😄
Firefox · Windows · 1920×1080
Can we nudge this like… 3 pixels?
This looked better in my imagination.
Live in the time it takes to make a coffee. Clients need zero training.
Drop a single <script> tag onto your staging site. That’s the whole setup.
Send clients a link. They click anything and pin a note. No account, no password.
Every comment lands in your dashboard, pinned to the exact element.
Every note lands as a pin on the page and a card in the sidebar, where they scan what’s open, reply in threads, and resolve things on the spot. No new tool to learn, nothing to install on their end.
This color feels a bit sad, can we warm it up to match the brand?
3 repliesThis heading’s playing it shy on mobile, give it room to shout?
2 replies“Start a project” sounds like homework. Can it just say “Start free”?
0 repliesLogo’s hugging the top edge a little too tight, let it breathe?
1 replyEvery site you’re reviewing sits in one dashboard: open and resolved counts at a glance, the client link a click away, and inside each project the comments grouped by page with the context attached.
Every note anchors to the exact element and offset — and re-finds it even after you push changes.
They add a name once. That’s the whole onboarding.
Hard-disables on your live domain. Real visitors never see it.
Browser, OS and screen size ride along with every pin.
Reply inline, fix your own note, mark it done, deep-link back to the pin.
Client feedback becomes a task list your agent can act on, no retyping, no screenshots.
One click in the sidebar or the dashboard. The whole project, one page or a single note, with the page, element, source file and replies attached.
Drop it into Claude Code, Cursor or Codex, or any agent that can edit your repo.
The agent fixes each pinned note. You resolve them as they land.
# Website feedback for Acme Inc Site: https://staging.acme.com · 2 open comments ## /pricing ### 1. Make it clear this is billed annually - Element: `#annual-plan-button` · text "Choose plan" - Source: src/components/Pricing.tsx - By Maya, 2h ago - Replies: - Alex: Keep the monthly equivalent visible too. ### 2. The CTA is a bit of a wallflower next to the hero - Element: `.hero .btn-primary` · text "Start free" - Context: Chrome · Android · 412×915 - By Sam, 1h ago
Paste it before </body> on staging. Your real visitors won’t see a thing.
<script src="https://cdn.coohoo.app/widget/v1.js" data-project="your-key"></script>
“Cut our review rounds from five to two. Clients just… point at the thing now.”
Every feature, every site, no seat limits, no trial timer. If Coohoo saved your bacon, you can back me on Patreon. Totally optional. 🐤
Every feature, unlimited sites & comments, no seat limits, no trial timer. If Coohoo saves your bacon, you can back me on Patreon — totally optional. 🐤
Nope. They open a link, add a name once, and start pinning. No login, no password.
No. The widget hard-disables on your live domain — it only runs on staging and preview URLs.
Paste one <script> tag before </body> on staging. That’s the whole setup.
Site settings → Custom code → Footer code: paste the snippet there and publish. It loads on every page of your site — then add ?review to any page’s URL to start pinning.
Anything that renders HTML — React, Vue, Next, WordPress, Webflow, or plain HTML. It’s framework-agnostic.
Yes. Each pin re-anchors to its element and offset, and re-finds it even after you push changes.
Yes. Copy every open comment, one page or a single note as a prompt, with the page, element, source file and replies attached, and paste it into any agent that can edit your repo.
Add Coohoo to one site in under five minutes. Free forever.
Add Coohoo — it’s free
I can’t explain it, but my brain wants it 12px lower.