database · tutorial · nextjs

Feedback Boards: The Feature to Ship Before Your App

User feedback without Canny's bill: vote-ranked posts, markdown comments, shipped-state flow. Data model plus UI pattern inside.

Three women at a polling place, one dropping her ballot into a glass-sided ballot box, New York, 1917
Three women at a polling place, one dropping her ballot into a glass-sided ballot box, New York, 1917 · Photo: National Photo Company Collection, public domain, via Wikimedia Commons

"What should I build next?" asked into the void

Every solo founder guesses the roadmap.

Analytics say what users do.

Support says what loud users want.

Gut says the rest.

The quiet majority, happily paying and silently wanting, never votes, because there is no ballot box.

Canny sells the ballot box as a monthly plan. Check its current pricing. For a solo SaaS that is a second subscription for the privilege of hearing customers.

Or you open a Discord channel, and requests drown in chat scroll within hours.

A feedback board built into your app is the $0 ballot box.

One public page.

Roadmap signal forever.

Inside your app, under your auth.

Roadmap signal, ranked

Option Cost Signal quality Own the data
Guess, with gut and analytics $0 Behavior without intent Yes, of behavior
A Discord channel $0 Drowns in days Sort of, on their platform
Canny, hosted A monthly plan Excellent No, export risk
A built-in board $0 extra Good at solo scale Yes, your database

Built-in wins for solos. Three reasons.

Votes beat requests. Ten users asking differently for the same thing looks like ten tickets. One post with ten votes looks like the roadmap.

Context lives beside the product. Feedback inside your app sits next to your users. You see who is asking without a "what plan are you on" follow-up.

Done states market themselves. Marking a request done turns the board into a changelog voters revisit. Public follow-through converts requesters into evangelists better than any email sequence.

What to do

Create a board and seed it.

Make the board from the dashboard or with bp boards. Then add three well-shaped example requests yourself.

Empty boards stay empty. Three good examples teach the format without a word of instruction.

Let votes rank the list.

Each request has a vote count, and the list sorts by it. Signed-in visitors vote under their account, one vote each. Anonymous visitors can vote too, limited to one per network.

You can toggle a vote on and off, so a double-click does not count twice.

Keep statuses honest.

Requests move through four states: open, planned, in progress and done. Change them from the dashboard or with bp posts.

Commenting is for members only. There is a sign-up gate between a stranger and your comment section, and comments have a length limit.

The board's first month

Week Event Board state
1 Launch with three seed posts of your own Users learn the shape by example
2 The first real requests arrive Merge duplicates by hand, thank both authors
3 One request leads the votes Move it to planned
4 You ship it Mark it done, tell the people who asked

Merge duplicates weekly. Curation is the ten minutes that keeps the signal clean.

Month two runs itself. Month one needs a gardener.

What a board is for

Treat curation as customer development.

Ten weekly minutes reading votes beats any survey. A reply from the founder wins a requester for life.

The board is not a feature so much as office hours that scale.

Know this first

A built-in board lacks Canny's network effects. It needs your curation. There is no automatic email to voters.

Comments are plain text, for members only.

Why BoringPush is the way to do this

Hear your customers. Rank what they want.

BoringPush includes the board. Votes sort the list. Statuses turn it into a roadmap.

It sits in your database, next to your users.

FAQ

Is a built-in board enough to replace Canny?

For solos and small teams, mostly yes: votes, comments and statuses cover the workflow that matters. Canny's edge is enterprise surface such as SSO, CRM sync and multi-product portfolios, plus polish.

You give up automatic voter notification. Weigh that against its monthly fee.

How do I prevent vote fraud?

Signed-in votes are one per account. Anonymous votes are limited to one per network. That is enough for ranking a solo roadmap.

It is not a defence against a determined person with many connections, and perfect fraud-proofing is impossible. Expensive-enough fraud is sufficient, and solo boards rarely attract adversaries.

Should anonymous visitors see the board?

Reading yes: a public roadmap markets itself and shows that you ship what people ask for. Voting is open to anonymous visitors in a limited way, while commenting needs an account.

Are comments plain text or markdown?

Comments are plain text with a length limit. Keeping them plain removes the whole class of formatting-related injection problems.

What statuses can I use?

Open, planned, in progress and done. Four states cover reality, and each additional one is process theater.

Can the board feed anything else?

Your board data sits in your database, so you can query it for a changelog or a list of who asked for what. The kit does not generate a changelog or send emails from it for you.

Keep reading

+ all the boring stuff (analytics, auth, SQLite ↔ Supabase, full marketplace, webhooks)

The Agent-First Shipping Kit

Command from your phone.

Built so autonomous AI agents build what you want without breaking what's already paying you.

$199

Get BoringPush

One-time payment · Lifetime updates · Unlimited projects.

Keep reading