▣ newzero signupzero config
usefeedbackbot.com — ships 2026

It's already collecting
feedback. You just
don't know it yet.

Drop one <script> tag. Feedback flows in, pre-sorted into bugs, ideas, questions, and spam. Claim the workspace later — DNS record or email on the matching domain. The data's already yours.

See it live
Running on Cloudflare — workers, D1, R2, queues
Widget: <10kb gzipped
index.htmllive<!-- in <head>, anywhere. really. -->
<script src="https://usefeedbackbot.com/widget.js" defer></script>
◎ install in 10 seconds
▣ workspace keyed by Origin
※ AI-classified
◉ webhooks everywhere
⌁ claim via DNS or email
◈ <8kb, zero deps
※ 99% spam filter
◎ dark & light widget
◎ install in 10 seconds
▣ workspace keyed by Origin
※ AI-classified
◉ webhooks everywhere
⌁ claim via DNS or email
◈ <8kb, zero deps
※ 99% spam filter
◎ dark & light widget
02How it workslive preview

Paste. And?
That's it.

The backend reads the Origin header, derives your workspace, and starts queueing tickets. The classifier tags every message. Your webhooks fire.

01
Paste the script tag
Anywhere in <head>. No build step. No env vars.
02
Tickets queue under your Origin
Workspace auto-derived. Data held for 30 days unclaimed.
03
AI sorts them into four buckets
bug / feature / query / spam. Re-runs on every edit.
04
Webhooks fan out by rule
Slack, Discord, Linear, GitHub, or any HTTPS endpoint.
feed · 5 sites
bug
checkout button 404s on Safari 16
/pricing
feat
add export to CSV for analytics
/dashboard
query
how do I invite teammates?
/settings
03Tagged. Routed. Done.pipeline

Every ticket fans out — tagged, signed, logged.

Gemma 4 on Workers AI classifies each ticket with JSON-mode output. Each classification routes through a per-workspace rule table. Payloads are HMAC-signed. Every delivery is logged, with retries visible in your dashboard.

Gemma 4
classifier
delivery retries
yes
dead-letter queue
trunk · classify · tag · route
bug
Linear → #bugs
feature
Slack → #product
query
Slack → #support
spam
dropped silently
04Ownership, later.claim the workspace
fastest

Email on the matching domain

Sign in with alice@acme.com → workspace for acme.com is yours. Freemail and EDU/GOV blocked from this path.

no email needed

DNS TXT record

Add a TXT record at _feedback.yourdomain.com with the token we hand you. Verified via DoH in seconds.

after claim

Team invites

Owner invites members via magic-link email. GitHub sign-in works too. SSO wiring is deferred to production workspaces.

05Built like we'd audit it.what's in the box
<8kb widget
Preact in a Shadow DOM. Loads once, caches forever. html2canvas lazy-loads only when a user attaches a screenshot.
AI classification
Gemma 4 on Workers AI with JSON-mode. Every ticket gets a primary tag, confidence, and a suggested title.
Signed webhooks
Every outbound POST carries X-Feedback-Signature: sha256=<hex>. Five retries with backoff; dead-letter queue for failures.
Spam filter
Freemail + disposable blocklists at ingestion. Honeypot field. Per-IP and per-workspace sliding-window rate limits.
Public roadmap
Claimed workspaces get a shareable /b/yourdomain board with voting and comments. No accounts required for voters.
Zero raw IPs
ip_hash = sha256(ip + daily_salt). No raw IPs stored, ever. Audit log for every claim event.
06Simple.pricing
why $1?
Even the smallest plan costs a dollar. Bot signup farms optimize for $0 — charging anything filters them out so real makers actually get heard. Cancel any time, no contract.
Lite
$1
per workspace / month
  • 100 tickets / month
  • 1 admin seat
  • 1 integration
  • Public board
Starter
$9
per workspace / month
  • 1,000 tickets / month
  • 3 admin seats
  • 2 integrations
  • Custom domain, no watermark
Scale
$29
per workspace / month
  • 10 admin seats
  • 10,000 tickets / month
  • All PM integrations, unlimited webhooks
  • SSO, audit log, API
07FAQquestions
01What stops someone hijacking my workspace?

Claim requires DNS TXT OR an email on the matching domain (with freemail and EDU/GOV blocked). First valid claimant becomes owner, subsequent become members. Every claim is audit-logged.

02What happens to tickets before I claim?

They queue under your Origin-derived workspace in a pending state, capped at 100 tickets. Once you claim you see everything; you can also purge them on claim.

03Do you store IPs?

No. Every ticket stores a sha256(ip + daily_salt) only. The salt rotates daily so even the hash can't be used to correlate across days.

04Can I self-host?

Not yet. The entire platform runs on Cloudflare (Workers, D1, R2, Queues). Self-host story is post-GA.

One script. That's the install.

Claim when you're ready. Cancel whenever. Your data travels with the domain.