Bootstrapwarebootstrapware

Features

What Bootstrapware Feedback includes

A narrow embeddable feature-request board: list, submit, vote, author edit and withdraw, filters, permalinks, statuses, BYO or Hosted storage, and board config, without public board pages.
Feedback board list with vote counts and status badges.Feedback board filtered to planned requests.

Embed list, submit, and vote

Customers browse requests, create posts, and vote inside your product UI.

Similar requests

After 4 characters in the compose title, the widget searches beyond the loaded page. Hosted and BYO debounce listPosts({ q }); local uses in-memory matching. Up to 3 clickable matches jump to the post and focus Vote.

Status badges

open, planned, in_progress, shipped, declined, shown on each post.

Author edit and withdraw

While a request is open, the author can correct title and body (updatePost) and archive their own request (withdrawPost). Omit either method and that control stays hidden. Text locks after status leaves open. Withdraw sets archivedAt. It is not a hard delete.

Screenshots on Local and BYO

Submit and open-post edit accept one JPEG, PNG, or WebP up to 4 MB, with preview and remove. Hosted hides Attach image. Hosted has no object store.

My requests, Voted, and sort

When user.id is set, My requests filters by authorId and Voted lists requests that viewer has voted on. Sort is Votes or Recent, applied before the cursor. Load more continues that order.

Permalinks and merged stubs

focusPostId and the #bsw-fb-post-<id> hash pin a request. Copy link writes that hash. includeMerged shows an archived duplicate as a non-votable Merged into row that focuses the canonical post.

Section, modal, window, or launcher

presentation is section, modal, window, or launcher, with optional defaultOpen. theme is light or dark. Omit theme and the board stays the light default. Hosts skin with --bsw-fb-* tokens.

BYO adapter

Implement listPosts, createPost, vote, and unvote against your own API. Bootstrapware hosts board config only.

Hosted posts

Omit the adapter; pass boardId + publishable key. Posts and votes store on Bootstrapware.

Host-asserted identity

Pass user={{ id }}. Opaque stable ids. Optional name, email, avatarUrl for display only.

Embed-only boards

No public board URLs. The widget is for authenticated product embeds.

Board configuration

Submissions, voting, vote counts, anonymous, empty state, branding.

Configuration revisions

Draft without changing what live clients load until you publish.

Test and live environments

bsw_test_* and bsw_live_* keys. Live config needs BYO or Hosted entitlement.

Operational sessions

Optional session metadata for the control plane. Not post title or body via MCP.

Webhooks

feedback.post_created and feedback.status_changed with HMAC signing.

Moderation tools (Hosted)

Dashboard inbox for status, public team reply, internal note, archive, merge, delete.