Know what customers want. Show them you listened.
Feedback Board is the open-source server that gives your product a public place to suggest ideas and vote, a roadmap that updates when you change a status, and a changelog with an RSS feed. It runs in your own account with no per-user fee. Below, try the part that saves you the most clean-up: catching duplicate requests as people type them. Everything on this page runs in your browser, so nothing is uploaded.
Try the duplicate finder
| Closest existing request | Match |
|---|
On your board, the same check runs under the title box, so the visitor sees “Already suggested?” and votes instead of posting a copy.
Why someone would use this
| Today | Catch | Feedback Board |
|---|---|---|
| Canny, Featurebase, Upvoty, Headway | Priced by tracked users or seats; roadmap, changelog or custom domain gated by tier; your customers' ideas live with them | Your server, all of it included, no per-user fee |
| A Notion page, Trello board or spreadsheet | No voting, so the loudest voice wins; duplicates pile up | One vote per visitor, duplicates caught and merged |
| Open-source boards (Fider and others) | Good boards, but a database to run and no changelog or email on ship | One zero-dependency process, JSON state file, changelog and RSS |
Honest limits: anonymous cookie votes can be gamed by clearing cookies; no SSO or per-customer revenue weighting; one board per instance.
Run it yourself
git clone https://github.com/Duncan-Haywood/fp-monorepo && cd fp-monorepo/ventures/feedback-board node --test ADMIN_KEY=$(openssl rand -hex 16) COMPANY_NAME=Acme node server.mjs
Open http://localhost:8080; the team admin is at /admin (any user name, ADMIN_KEY as the password). Add <script src="https://your-board/widget.js" data-target="#whats-new" defer></script> to show a “What's new” link in your app. One-click Render deploy and Docker are in the README.
Questions
Why not just use Canny, Featurebase, Upvoty or Headway?
Those hosted tools are polished and worth it if you want zero setup. Their plans are priced by tracked users or seats and gate the roadmap, changelog or custom domain behind higher tiers, and your customers' ideas and emails live on their platform. Feedback Board is one small Node server in your own account with ideas, votes, roadmap, changelog and RSS included, no per-user fee. If a hosted plan already does the job, keep it.
How does it stop people posting the same idea twice?
While someone types a title, the board shows similar existing ideas (TF-IDF cosine similarity over stemmed words and word pairs) so they can vote instead. You can also merge duplicates later: voters are combined without double counting and the old link redirects.
Do my users need accounts?
No. A visitor gets an anonymous cookie that allows one vote per idea. The server stores only a salted hash of it. The trade-off is honest: someone who clears cookies can vote again, so treat votes as a signal, not a ballot.
Can I tell people when their idea ships?
Yes. If the author left an email, marking the idea Shipped sends one email through your own Resend account. It starts in dry-run mode and sends nothing until you set DRY_RUN=false. Your changelog also has an RSS feed and an embeddable What's new link.
Is it safe to run in public?
Everything is escaped on render, posting is rate limited per address with a honeypot field, admin actions need your key and refuse cross-site requests, and the server sets a strict content security policy. It has no warranty; read the disclaimer and review the code before you rely on it.