alternative · comparison · tutorial
Every Feedback Tool Priced: Canny, Featurebase, Frill, Nolt, Upvoty
All five feedback rents on one page with 2026 prices and links — then the $0 alternative: three tables in your own database. Vote, statuses, voter emails, no meters.

All five rents, one table (verify current — prices move)
| Tool | Entry price | Model | Free plan | The catch |
|---|---|---|---|---|
| Canny | $79/mo | Per tracked user | 25 users | Bill scales with audience: ~$1,099/mo at 3k users |
| Featurebase | $0 → $49/mo | Tiered | Yes (generous) | Jump from free to $49 with no cheap middle; per-seat pressure as teams grow |
| Frill | $25/mo | Tiered | No | 50-idea cap on Starter; boards multiply cost |
| Nolt | $29/mo | Per board | No | Single board; no changelog module |
| Upvoty | $15/mo | Per board tiers | No | Board limits; no changelog on entry |
Every one of them charges you, forever, to hear your own customers. The cheapest still extracts ~$180/year for the privilege. The most expensive scales with your success — growth triggers the invoice.
What you're actually buying (it's smaller than you think)
Strip every tool above to what solo founders use: a board where users post ideas, votes that rank them, statuses (planned/in-progress/shipped), comments, and an email when something ships. That's five features. Portals, SSO, Salesforce syncs, and AI discovery are enterprise tail you will never touch — but you fund their development with your subscription.
The honest mapping: posts table, votes table, statuses column, comments table, one Resend call on shipment. An afternoon's schema. The industry turned it into $180–$13,000/year of rent.
The schema (copy-paste, five tables is a lie — it's three)
Posts, votes, comments. Statuses live as a column, not a table. Voter emails come from the users table you already have:
CREATE TABLE post (
id TEXT PRIMARY KEY,
title TEXT NOT NULL CHECK (length(trim(title)) > 0),
body TEXT NOT NULL DEFAULT '',
status TEXT NOT NULL DEFAULT 'open'
CHECK (status IN ('open', 'planned', 'shipped')),
"createdAt" INTEGER NOT NULL
) STRICT;
CREATE TABLE vote (
postId TEXT NOT NULL REFERENCES post(id) ON DELETE CASCADE,
voterKey TEXT NOT NULL,
UNIQUE(postId, voterKey)
) STRICT;
-- comments: postId + body. Voter emails: join vote → user on shipment.Ranking is ORDER BY (SELECT COUNT(*) FROM vote WHERE postId = post.id) DESC — or a cached count column maintained by insert/delete triggers when you pass ten thousand votes. Either way, no service, no sync, no seats.
The triage ritual (15 minutes every Friday)
Open the board sorted by votes. Top item with a clear ask: set status planned, reply once with a rough shape ("thinking Q1, will confirm"). Anything shipped that week: flip to shipped, fire the voter email ("You asked, it's live: [link]") — that email is the highest-ROI message a founder sends, because every recipient voted for this exact outcome. Close duplicates with a comment pointing at the canonical post. Archive the bottom quartile yearly. Canny sells workflow around this ritual; the ritual is fifteen minutes and the workflow was always optional.
The voter email that actually works
Subject: "You asked — it's live." Body: one line recalling their vote, one link, one question ("what should we build next?"). No newsletter template, no branding suite, no A/B test. Shipped-feature emails get opened because the reader pre-committed interest by voting — 60%+ open rates are normal here, which is why owning the voter list (not renting it inside Canny) matters more than it looks.
The owned version (already built, in the kit)
Vote-ranked posts with deduped toggles, open-to-shipped status pipeline, threaded comments, voter emails via your own Resend key, public board plus paid-gated triage — all in your SQLite, all behind your CSS, all unmetered. Migration is a CSV weekend: export posts and votes, import with original timestamps, point nav at /dashboard/boards, cancel the subscription Monday.
What it honestly lacks: SAML SSO, granular staff roles, Salesforce sync, AI feedback discovery. If any of those is a today-need, keep your vendor and stop reading — the verdict section below says exactly that.
Three-year math (the number that ends debates)
Solo founder, 2,000 users, one board: Canny Pro lands around $1,099/mo at 3k tracked users ($13,188/year) while Featurebase Growth holds $87–111/mo and Frill/Nolt sit $25–29/mo. Owned: $0, plus the Sunday afternoon of migration — once. Year-one totals: Canny ~$13k, Featurebase ~$1k, Frill ~$300, Nolt ~$350, owned $0 (plus $199 once for the whole kit, not just feedback). Year three, with 8,000 users: Canny is a custom quote "well above" $1,500/mo, Featurebase climbs tiers per seat, the flat tools hold — and owned is still $0 with the same three tables. Rent compounds with success; ownership amortizes to zero. That's the entire argument in one paragraph, and no vendor comparison page will print it.
Which of the five is best if I must rent?
Featurebase on value (real free plan, modern UI, surveys included) unless you need Canny's ecosystem. Frill for widget-first simplicity. Nolt for single-board beauty. Never UserVoice unless an enterprise is paying.
Do voters need accounts on the owned version?
Logged-in users vote, guests read — same guards as comments, no new auth surface, no voter-seat math because there are no seats.
What happens to my data if a vendor raises prices?
That's the entire argument: with rented boards you export under duress on their timeline. With owned boards there is no timeline — it's SQLite with VACUUM INTO backups you already run.
Canny vs Featurebase specifically?
Canny's per-tracked-user model punishes audience growth ($79/mo → $1,099/mo at 3k users); Featurebase's free tier plus $49/mo Growth is 12x cheaper at small scale per their own published math. Both still rent. Owned skips the comparison permanently.
The top-down verdict
Five vendors, one business model: meter your relationship with your customers. An agent-first shipping kit puts the three tables in your database for $199 once — same votes, same statuses, same emails, zero rent, zero export risk. When the category charges you for listening, own the ears.
+ all the boring stuff (analytics, auth, SQLite ↔ Supabase, full marketplace, webhooks)
Command from your phone.
Built so autonomous AI agents build what you want without breaking what's already paying you.
- Built-in analytics — cookie-free mode, $0 forever, no PostHog bill
- SQLite ↔ Supabase: one setting, same field names
- Full digital marketplace & feedback boards included
- 3 payment rails: Stripe, LemonSqueezy & Dodo Payments
- Agent fences: lint gate, read-only data access, auto-rollback
- Ship from your phone via SSH & WireGuard/Tailscale in under a minute
$199
Get BoringPushOne-time payment · Lifetime updates · Unlimited projects.
Keep reading


