FeedbackKit vs Features.Vote: Two Native SwiftUI Voting SDKs
Features.Vote and FeedbackKit are closer than most pairs in this series. Both have a native SwiftUI SDK, so your users vote in real views inside your app instead of a web page. Both let your app pass revenue per user so you can see who is behind a request. The differences are in which operating systems and platforms each covers, what happens after a request is triaged, and what your users can see on the web.
We make FeedbackKit, so read this with that in mind. Every Features.Vote fact below comes from its own website, docs and SDK README, checked on 17 October 2026, and is linked where it is used. The side-by-side table is on FeedbackKit vs Features.Vote.
The short version
- Features.Vote is a public voting board, roadmap and changelog, plus a native SwiftUI SDK for iOS and iPadOS 16 or later and macOS 13 or later. Voters do not need to sign up. It has a REST management API on Growth and an MCP server, and lists no issue-tracker integration.
- FeedbackKit has native SDKs for Swift and SwiftUI (iOS 26, macOS 26 and visionOS 26 or later), Kotlin with Jetpack Compose, Flutter and React Native. It syncs status with nine issue trackers and posts to Slack, both on Pro and up.
- Features.Vote supports older Apple OS versions and gives your users a public roadmap and changelog. FeedbackKit covers Android and cross-platform apps and has a free plan.
SDKs
The Features.Vote iOS SDK page calls its views "Real SwiftUI views", with no WebView and no third-party dependencies. Every view also ships a UIHostingController bridge for UIKit apps. You configure it with your project slug and install it through Swift Package Manager. The SDK README lists five views: a voting board with filter and sort, a feature detail view with comments and reactions, a submission form, a changelog and a kanban-style roadmap. It supports iOS 16 and macOS 13 or later. Users can be identified by email, a custom ID or a JWT, or vote anonymously. The README gives its licence as the Elastic License 2.0. For other platforms Features.Vote offers an embeddable web widget, which its homepage says you can embed anywhere in your application; it lists no native Android, Flutter or React Native SDK.
FeedbackKit's Swift SDK covers iOS, macOS and visionOS, with a request list, a submit form, a detail view with comments and vote buttons. The Kotlin SDK does the same with Jetpack Compose on Android, and the Flutter and React Native SDKs ship ready-made screens too. The JavaScript SDK for the web is a headless client with no screens. There is also a Vapor SDK for server-side Swift and a REST API, but no outgoing webhooks. Docs: Swift, Kotlin, Flutter, React Native.
The honest trade-off: FeedbackKit's Swift SDK needs iOS 26, macOS 26 or visionOS 26 or later, with no watchOS or tvOS. If your Apple app still supports iOS 16 to 18 or macOS 13 to 15, Features.Vote covers those users and FeedbackKit does not. If you ship the same app on Android or in Flutter or React Native, FeedbackKit gives every platform native screens on one board.
Here is how that looks in FeedbackKit, with sample data from a fictional hiking app:
Native screens beyond Apple
Managing feedback and revenue
Features.Vote's README lists five default statuses: pending, approved, in progress, done and rejected. Custom statuses are not listed. Its API docs describe merging duplicates, managing voters and linking features to releases. For revenue, the README's updateUser(spend:) passes what it calls "Customer lifetime value", and the SDK page says you can prioritise requests by the revenue behind them. Its pages do not say which plan includes this.
FeedbackKit has six built-in statuses on every plan: Pending, Approved, In Progress, TestFlight, Completed and Rejected. On Pro and up you choose which ones a project uses, and there are no custom statuses. A new request starts with its submitter's vote, and voting stops on Completed and Rejected. On every plan your app passes each user's MRR through the SDK, and requests can be sorted by the total MRR of the users behind them. So both tools weigh requests by money, but by different figures: Features.Vote by lifetime spend, FeedbackKit by monthly recurring revenue. You can merge duplicates (each voter counted once) and triage in the web dashboard or the native admin apps for iPhone, iPad and Mac.
Roadmap, changelog and closing the loop
Features.Vote's pricing page lists a public roadmap and email notifications on Lite, and a public changelog on Growth. Its homepage says voters hear about a shipped feature by email and through the changelog. Its SDK brings the roadmap and changelog into your app as native views.
Does FeedbackKit have a public roadmap or changelog? Partly. FeedbackKit can show a roadmap and a board of requests on your own website through an iframe, and visitors can vote on the board when you turn voting on. It has no changelog for your users. The roadmap lists the feature requests and improvements you mark for it, grouped by target month. Embeds are on every plan, and there is no hosted roadmap site on your own domain.
FeedbackKit closes the loop with status emails. A new project emails on Approved, In Progress, Completed and Rejected. The submitter gets that email on every plan; choosing the list needs Pro, and emailing voters who opted in needs Team. When Trailmate's Offline maps request, with 248 votes, moves to Completed, the person who asked hears about it, and on Pro and up a Slack channel can hear too. More in our post on status emails.
Here is how that looks in FeedbackKit, with sample data from a fictional hiking app:
Telling people it is done
FeedbackKitApp
Status Update
Trailmate
Offline mapsTestFlight → Completed
Your feedback in Trailmate has a status update.
Offline maps
TestFlightCompleted
Integrations
Features.Vote lists no issue-tracker integration and no Zapier or Make. Its routes to other tools are the REST management API, which the API docs say is on the Growth or VIP plan or during a trial, and an MCP server that wraps that API for AI assistants such as Claude Desktop. Slack, Microsoft Teams and Discord are not listed.
FeedbackKit connects to GitHub, Linear, Notion, ClickUp, Monday.com, Trello, Airtable, Asana and Basecamp, with status sync, plus Slack, HubSpot, Salesforce and the email-list tools Mailchimp, Kit, beehiiv and MailerLite. All integrations need Pro. There is no Jira, Azure DevOps, Zapier or Make. Sync varies by tracker: GitHub has no comment sync, and GitHub, Linear, Trello and Basecamp have no vote-count sync. See the integrations page.
If you would rather wire things up yourself or drive the board from an AI assistant, Features.Vote's API and MCP server suit that. If you want a request to become a Linear issue and its status to follow, FeedbackKit does that without your own glue code.
Pricing
Features.Vote's prices are from its pricing page, shown with a "$" sign. FeedbackKit's are from our pricing page, in US dollars.
| Plan | Monthly | Yearly | Includes |
|---|---|---|---|
| Features.Vote Lite | $9/month | $90/year | 1 project, public board and roadmap, email notifications |
| Features.Vote Growth | $29/month | $290/year | Unlimited projects, changelog, private boards, team, custom domain |
| FeedbackKit Free | $0 | $0 | 1 project, 10 visible feedback items per project |
| FeedbackKit Pro | $15/month | $150/year | 2 projects, unlimited feedback, integrations |
| FeedbackKit Team | $39/month | $390/year | Unlimited projects, team members |
Features.Vote says its pricing "never scales with votes, voters or tracked users", and FeedbackKit's does not either. Features.Vote's pricing page lists no free plan; the trial is 14 days with no card, and it offers a setup service from $99. FeedbackKit has a free plan, though items past the cap of 10 are saved but hidden from the board, and yearly billing saves about 17%. For a closer look, see our Features.Vote pricing post.
So which one
Choose Features.Vote if your Apple app still supports iOS 16 to 18 or macOS 13 to 15. Choose it if you want a public web board, roadmap and changelog, with native roadmap and changelog views inside your iOS or macOS app, or if you want voters to take part without signing up. And its Lite plan, at $9 a month, costs less than FeedbackKit Pro if one project with no integrations is enough but you have more than 10 requests.
Choose FeedbackKit if you ship on Android, Flutter or React Native as well as Apple platforms and want native voting screens on each. Choose it if you want requests pushed to GitHub, Linear, Notion, ClickUp, Monday.com, Trello, Airtable, Asana or Basecamp with status sync, plus Slack (Pro and up), or if you want a free plan and MRR ranking on every plan.
Both are quick to drop into a test build, so try each next to your own screens. Our Features.Vote alternatives post covers other options. To try ours: Start free.
The short version, side by side: FeedbackKit vs Features.Vote