A feature request board with voting, a roadmap and a changelog, deliberately simple and embeddable in a product.
Build me a feature request board that replaces Nolt: simple enough that customers actually post, with a roadmap and single sign-on from my product. STACK - Node 20+ with Fastify, server-rendered HTML with a little vanilla JS - SQLite through better-sqlite3, WAL mode, with FTS5 - One embeddable script under 12KB gzipped, from my own domain - Caddy in front THE DATA MODEL - boards: id, slug, name, description, is_public, allow_anonymous, sso_secret, statuses_json, theme_json - posts: id, board_id, author_id, title, body_md, status, category, vote_count, comment_count, pinned, merged_into_id, created_at - authors: id, board_id, external_id, name, email_hash, avatar_url, is_admin, is_blocked, created_at - votes: id, post_id, author_id, weight, created_at - comments: id, post_id, author_id, body_md, is_internal, created_at - status_changes: id, post_id, from_status, to_status, note, actor, at — append-only, so the roadmap has a history - subscriptions: post_id, author_id — everyone who voted is subscribed by default, with a way out - Vote weight exists so a paying customer's vote can count for more, if you decide it should. Default it to one and say what you chose SIMPLICITY AS A FEATURE - Posting is a title and a body. Two fields. Every extra required field halves the number of people who finish - Duplicate detection while typing the title: search as you type and show the three closest posts before the body box appears. This is the single most valuable thing on the board, because a board where the same request appears eleven times is a board nobody reads - Voting is one click and does not require anything else - The whole board must be legible in five seconds: what people want, most wanted first - Resist adding fields, workflows and forms. The product being replaced wins on being simple, and the moment you make it thorough it stops working SINGLE SIGN-ON - My backend signs a short-lived token with the user's external id, name, avatar and email; the widget or the board is opened with it - Verified on the server against a shared secret. Never a plain user id - Nobody creates a second account, which is why a request board attached to a product gets ten times the posts of a standalone one - Anonymous voting optional per board, rate-limited by salted address hash, and clearly separated in the counts THE BOARD - Sort by votes, by newest, by recent activity, or by status - Filter by category and status, with a search over titles and bodies - One post per page with its own permanent URL, so it can be linked in a support reply - Comments, with internal notes visible only to admins and visibly different - Merge two posts: the votes add, the comments move, everyone who voted on either is notified once STATUSES AND THE ROADMAP - A small set of statuses, defined per board, each mapping to a roadmap column: under review, planned, in progress, done, declined - Declined is a real status with a required note. The most respectful thing a board can do is say no clearly, and the most damaging thing is a request that sits untouched for two years - Changing a status notifies every voter, once, with the note - The roadmap is a public read-only view of the same posts, grouped by column - A changelog fed from posts moving to done, with an RSS feed THE WIDGET - One script, one init call with the signed token - Opens the board in a panel over my product, or links to it - Shadow DOM, my accent, dark and light, keyboard navigable, Escape closes, focus returned - A count badge of new posts since the user last looked, if you want it MODERATION - A queue if the board is anonymous, none if it is behind single sign-on — which is one of the reasons to prefer it - Block an author, hide a post, close comments, all recorded - Rate limits on posting and commenting - Spam defences: honeypot, minimum time on form, link limits for new authors FOR THE OWNER - A list sorted by votes, and one sorted by the total value of the customers who voted, if you are carrying that trait through single sign-on - 'Who asked for this' as a list of real customers, exportable, which is what turns a board into a sales conversation - Export everything as CSV and JSON OPERATIONS - .env: DATABASE_PATH, BASE_URL, SSO_SECRET, SESSION_SECRET, HASH_SALT, SMTP_URL - Migrations on boot, each once - Custom domain with on-demand TLS, checked against the boards table before requesting a certificate - Nightly backup off the machine, restore script - Health endpoint WHAT MATTERS MOST Duplicate detection and answering. Build the search-as-you-type before the board is pretty, and commit to moving every post out of 'under review' within a month. The failure mode of this product category is not technical — it is a board full of ignored requests, which tells your customers exactly how much their opinion is worth. Give me the repository, the widget, migrations, .env.example, the token-signing snippet, a seed board with forty posts, and a README with deploy steps behind Caddy.
What you lose
- A board simple enough that customers actually post on it
- Hosting and moderation you do not run
- Single sign-on from your product so people do not create another account
If you would rather not build
- GitHub Discussions, which is free
What it costs
read from their page 15 Aug 2026
| Plan | Billed monthly | Billed yearly | Last read |
|---|---|---|---|
| — | $29/mo | — | 15 Aug 2026 |
Their pricing page is where these came from. Seeing a different price? Tell us.
The escape hatch
open source · no votes, no paid placement
Why this verdict
our own opinion · changed only by a person
90/100
Verdict yes at 90. A list with votes. Deduplication and the merge that preserves URLs are the only parts that need thought.
History
tracked since 10 Aug 2026 · nothing is ever overwritten
Questions about Nolt
answered from the record above
Is Nolt free?
No — the plan we track is $29 a month. Around $29/month billed monthly per board, cheaper annually.
Can you replace Nolt by building your own?
YES. Replaceable in one session with an AI coding agent. Replacement score 90 out of 100, build time one session. Read what you lose before you decide.
How much does Nolt cost?
$29 a month on Standard — $348 a year. Recorded 10 Aug 2026.
What do you lose by replacing Nolt?
A board simple enough that customers actually post on it; Hosting and moderation you do not run; Single sign-on from your product so people do not create another account. If any of those carry weight for you, keep paying.
Is there an open-source alternative to Nolt?
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

