Feedback boards, a roadmap, a changelog and a help centre in one product, with widgets that drop into an app so users never leave it.
Build me a user-feedback suite that replaces Featurebase: a feedback board, a roadmap, a changelog and a help centre, sharing one identity, embeddable in my app. STACK - Node 20+ with Fastify, server-rendered HTML, a little vanilla JS - SQLite through better-sqlite3, WAL mode - One embedded widget script under 20KB gzipped, served from my own domain - Caddy in front THE DATA MODEL, WHICH IS THE WHOLE POINT - users: id, external_id, email, name, avatar_url, company, plan, mrr_cents, traits_json, created_at — one identity used by all four surfaces - posts: id, board_id, author_id, title, body_md, status, category, pinned, merged_into_id, created_at - boards: id, slug, name, description, is_public, allow_anonymous, statuses_json - votes: id, post_id, user_id, weight, created_at — weight is where MRR-weighted prioritisation comes from - comments: id, post_id, author_id, body_md, is_internal, parent_id, created_at - roadmap_columns: id, name, position, maps_to_status - changelog_entries: id, title, body_md, kind, published_at, labels_json - changelog_reads: id, entry_id, user_id, read_at — the unread badge lives here - articles: id, collection_id, slug, title, body_md, position, published_at, helpful_yes, helpful_no - article_views, searches: what people looked for, and what they found nothing for - One users table across feedback, changelog and help centre. That single identity is the reason the suite is bought instead of four tools; build it first and never let a surface invent its own IDENTIFYING A USER FROM MY APP - The widget is opened with a signed JWT from my backend containing the external id, email, name and any traits — never with a plain email, which anyone can type - Anonymous browsing allowed and configurable per board; anonymous voting optional and rate-limited by salted address hash - Traits are stored per user and filterable: plan, MRR, signup date. 'Who asked for this' is a question about customers, not about usernames THE BOARD - Post, vote, comment. One vote per user per post, changeable - Duplicate detection while typing a title: search as you type and show the three closest posts before the box for the body appears — this is what keeps a board readable - Merge: two posts become one and the votes add up, with everyone who voted on either notified - Status changes notify every voter, once, with an unsubscribe - Admin sorting by votes, by weighted votes, by newest, by recent activity, and by total MRR of the voters THE ROADMAP - Columns mapping to statuses, drag to move, public view read-only - An item can be private until it moves to a public column - Every roadmap card links back to the post it came from and shows the vote count THE CHANGELOG - Entries with a kind — new, improved, fixed — and labels - A public page, an RSS feed and an in-app widget with an unread badge; the badge is the only reason a changelog is read, so build it before the page is pretty - Read state per user, so the badge clears - Optional email digest to users who opted in, batched weekly THE HELP CENTRE - Collections and articles in Markdown, ordered by hand - Search across articles, and the failed searches recorded — an empty search result is a request for an article - Was this helpful, two buttons, counted per article - The widget can open an article without leaving my app THE WIDGET - One script, one init call, four surfaces reachable from it - Shadow DOM so my app's CSS cannot leak into it and it cannot leak out - Keyboard navigable, focus trapped while open and returned on close, closes on Escape - Inherits my accent colour and my font, dark and light OPERATIONS - .env: DATABASE_PATH, BASE_URL, JWT_SECRET, SESSION_SECRET, SMTP_URL, HASH_SALT - Migrations on boot, each once - Nightly backup off the machine, restore script - Health endpoint WHAT MATTERS MOST The shared identity and the duplicate-detection-before-posting. Build those two first, then the changelog badge. A board where the same request appears eleven times is a board nobody reads, and a changelog nobody notices might as well be a blog. Give me the repository, the widget script, migrations, .env.example, a seed with two boards and forty posts, and a README with deploy steps behind Caddy.
What you lose
- Feedback, roadmap, changelog and help centre sharing one identity, so a user is recognised across all four
- Widgets for each, maintained against browser changes
- Moderation tools for a board that has become busy
If you would rather not build
- A static changelog in your repository
- Canny, for the polished hosted version
What it costs
as published on their pricing page
| Plan | Billed monthly | Billed yearly | Last read |
|---|---|---|---|
| — | $49/mo | — | — |
Their pricing page is where these came from. Seeing a different price? Tell us.
The escape hatch
open source · no votes, no paid placement
Fider
$0Self-hosted feedback board with voting, statuses and moderation.
getfider/fiderfree · open source
Why this verdict
our own opinion · changed only by a person
78/100
Verdict yes at 78. Signing the user token is the one security decision; the rest is two lists and two widgets.
History
tracked since 10 Aug 2026 · nothing is ever overwritten
Questions about Featurebase
answered from the record above
Is Featurebase free?
No — the plan we track is $49 a month. Starter from around $49/month billed monthly, cheaper annually.
Can you replace Featurebase by building your own?
YES. Replaceable in one session with an AI coding agent. Replacement score 78 out of 100, build time one session. Read what you lose before you decide.
How much does Featurebase cost?
$49 a month on Starter — $588 a year. Recorded 10 Aug 2026.
What do you lose by replacing Featurebase?
Feedback, roadmap, changelog and help centre sharing one identity, so a user is recognised across all four; Widgets for each, maintained against browser changes; Moderation tools for a board that has become busy. If any of those carry weight for you, keep paying.
Is there an open-source alternative to Featurebase?
Yes: Fider, Astuto. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.
free forever · no tracking pixel · stored here, never passed to anyone

