fdbck.

Public board

The public board is an embeddable roadmap of the feedback you choose to publish — with anonymous upvotes and Planned / In progress / Shipped columns driven by each item's status. It's curated, not a firehose: nothing is public until you publish it.

The board only shows what you publish. For each published item it shows an owner-set public title (or a scrubbed summary), its status, and the vote count — never the raw message, the submitter's email, or the page context.

Turn it on

Go to Settings → Public board and enable the board. Until then, your board URL shows a “this board isn't turned on yet” page — not a 404 — telling you to enable it here. (An unknown widget key does 404, and the read API returns 404 for a disabled board too, so scripts can't tell enabled from disabled.) Enabling it does not publish anything — the board is empty until you publish items.

To publish an item, open its detail page and hit Publish to board. That's the gate — the only way an item reaches the board. Publish it back off from the same button.

The board URL

Your board lives at a public URL keyed by your widget key. Share it directly, or embed it.

url
https://fdbck.app/board/wk_your_key_here

Embed it

The board is designed to be framed on your own site — a docs page, a pricing page, a “roadmap” tab. Drop it in an iframe.

html
<iframe
  src="https://fdbck.app/board/wk_your_key_here"
  style="width:100%;height:600px;border:0"
  title="Feedback board"
></iframe>

Match your site's theme

The board is light by default. Add ?theme=light or ?theme=dark to pin it to your own site's appearance — a dark board floating in a light page (or the reverse) is the thing that gives an embed away.

html
<iframe
  src="https://fdbck.app/board/wk_your_key_here?theme=dark"
  style="width:100%;height:600px;border:0"
  title="Feedback board"
></iframe>

When you pin a theme, the board's own appearance switch hides — your page is in charge. Leave the param off and visitors get light by default, with a Light / Dark / Auto switch at the bottom of the board (their choice is remembered per browser).

Serving both modes? Pass the param from your own theme state so the board follows it — for example ?theme={isDark ? "dark" : "light"} when you render the iframe.

Status columns

Columns come straight from each item's internal state — you don't arrange them by hand. As an item moves through triage and into a PR, it moves across the board.

ColumnWhat lands here
PlannedReceived and triaged items you've published but haven't started.
In progressAn item with a PR open for it.
ShippedThe fix has been merged.

Deferred and dismissed items are hidden from the board even if published, so a “no” never shows up as a stalled card.

Voting

Votes are anonymous — no account, no sign-in. Each browser gets one vote per item (a local token dedups it), and can retract it. Votes sort the board, hottest first.

Build your own board

Don't want the hosted page or an iframe? Render the board yourself, in your own design language. There's a small, CORS-enabled JSON API — read the sorted items, cast and retract votes, and check which items a visitor already voted for — all keyed by your public widget key, all returning only display-safe fields.

http
GET https://fdbck.app/api/v1/board?key=wk_your_key_here&sort=trending

Full reference, the voter-key contract, and a copy-paste example in the Board API. For the submission side, see the Feedback API.