Astuto vs pick a feature: Open Source vs Flutter SDK

If you're researching self-hosted feature request boards, Astuto is probably on your list. It's open-source, deploys to your own server, and gives you a clean voting board without a monthly bill. pick a feature takes a different path: a Flutter SDK that lives inside your app, backed by a managed cloud dashboard. Both tools collect and prioritize user feature requests, but they're built around completely different assumptions about how users interact with software.
Whether you're a Flutter developer or a founder who'd rather self-host, here's what each tool actually offers and where it falls short.
Astuto is a self-hosted web portal where users visit a browser-based board to submit and upvote feature requests. pick a feature is a Flutter SDK that embeds native voting inside your app. Flutter developers should use pick a feature; teams who want a free self-hosted web board and don't mind the DevOps should use Astuto.
What Is Astuto?
Astuto is an open-source feature request board built with Ruby on Rails and React. You deploy it to your own infrastructure (Docker, Fly.io, Railway, or Heroku), point a subdomain at it, and share the URL with your users. They submit feature requests and cast upvotes through a browser-based portal.
The MIT license means the self-hosted version costs nothing in licensing. Your only expense is the server, typically $5-15/month on most hosting platforms. Astuto also offers a cloud-hosted option at astuto.io for teams who'd rather skip the deployment work.
Feature set includes a voting board, roadmap view, changelog, and comments. It's a capable web portal for teams that want a public-facing feedback hub.
The self-hosting trade-off is real. Running Astuto on your own server means you configure the database, handle version upgrades, manage SSL, and absorb any downtime. On Fly.io or Railway, the initial setup takes 30-60 minutes if you're comfortable with Docker. The ongoing maintenance is lighter than a full web app, but it's not zero: database backups, upgrade testing, and server monitoring all land on you. For a solo founder shipping features every week, that quietly eats 2-4 hours per month. Astuto also offers a cloud-hosted option at astuto.io, but once you're paying a monthly subscription, the cost gap between Astuto cloud and a managed tool like pick a feature narrows considerably. The deeper limitation is the user experience: Astuto is browser-based. Your mobile or desktop app users have to leave the app, navigate to a separate URL, and participate in a web portal to submit or upvote requests.
We covered Astuto in our roundup of open-source Canny alternatives alongside Fider. If the self-hosting angle is your main criteria, that article walks through both options in detail.
What Is pick a feature?
pick a feature is a Flutter package on pub.dev. One call to PickAFeature.initialize with your API key wires in the backend connection. From there you get three drop-in widgets: a full-screen view, a dialog, and a bottom sheet. Whichever fits your app's UX, it's ready to drop in.
Users submit feature requests, upvote existing ones, and add comments inside your app. They never leave it. The SDK handles anonymous device UUIDs for users who aren't signed in, so you get participation data even from unsigned visitors.
The cloud dashboard at pickafeature.com handles moderation, status updates, and analytics. The status workflow moves requests through six stages: pending, under review, approved, in progress, planned, completed. The SDK widget shows only approved and completed requests to end users.
Theming is one config object: primary color, secondary color, background, text color, border radius. Custom copy fields let you rename buttons, placeholder text, and the subtitle. Demo mode gives you canned data for screenshots or offline dev, with no network calls.
For a closer look at how the SDK integrates into a Flutter project step by step, see how to add feedback to your Flutter app.
Astuto vs pick a feature: Side-by-Side
| Feature | Astuto | pick a feature |
|---|---|---|
| Type | Web portal (self-hosted or cloud) | Flutter SDK + managed cloud |
| Mobile integration | None (browser redirect) | Native in-app widget |
| Setup time | 30-60 min (Docker + DB config) | ~5 min (pub.dev + one init call) |
| Self-hostable | Yes (MIT license, free) | Partial (custom apiBaseUrl, no server binary) |
| Roadmap view | Yes | No public roadmap page |
| Changelog | Yes | No |
| Voting | Yes | Yes |
| Comments | Yes | Yes (Starter and Unlimited plans) |
| Anonymous voting | Yes | Yes (device UUID) |
| Managed pricing | Cloud plan at astuto.io | Free, $5/mo, $15/mo |
The split is clear. Astuto has more features in the web portal category (changelog, public roadmap) because it's been around longer and targets a broader web-first use case. pick a feature focuses entirely on the Flutter developer experience.
When Astuto Makes Sense
Astuto fits well if you're building a web app or SaaS where users spend most of their time in a browser. A link to your Astuto board in a nav menu or email footer works fine when users are already at a desk.
It also fits if you want self-hosting for data sovereignty. You control the database, the server, and every byte of user data. No vendor lock-in to a SaaS billing cycle.
And if you have some DevOps capacity, the self-hosted path is genuinely low-cost. If you've got a server running for your own app's backend already, hosting Astuto on the same machine keeps incremental costs close to zero.
If your users are mainly on mobile apps built in Flutter, the browser-redirect experience will hurt participation. Users don't follow external links out of apps to submit feedback — they close the prompt and move on.
When pick a feature Makes Sense
pick a feature is the right call if you're building a Flutter mobile or desktop app and want users to submit feature requests without leaving it.
In-app voting changes participation rates. When voting is one tap inside the app, users do it. When it means leaving the app, opening a browser, creating an account, and navigating an external URL, most don't bother.
Setup is measurably faster. You add the package, call PickAFeature.initialize, drop in a PickAFeatureScreen or PickAFeature.showBottomSheet, and you're done. No server config, no database provisioning, no SSL certificates. The backend is managed for you.
The tradeoff: pick a feature doesn't have a public roadmap page or changelog. Users see approved and completed requests inside the SDK widget, but there's no shareable web URL for an external roadmap. If you need a public roadmap, you'd pair pick a feature with a separate tool.
Pricing Compared
Astuto's self-hosted path has no licensing cost. Server fees on Fly.io or Railway run $5-15/month depending on load. The cloud-hosted option at astuto.io is a paid subscription.
pick a feature's free tier is a real free tier: 1 project, 10 feature requests, no credit card required. Starter is $5/month — 3 projects, unlimited requests, comments, full analytics, and no watermark. Unlimited is $15/month for unlimited projects and advanced analytics.
If you're running Astuto self-hosted, your total cost after server fees lands around $5-15/month — roughly the same range as pick a feature's Starter plan. The question is what you want for that money: a Flutter SDK with managed infrastructure, or a web portal on your own server with full data control.
For a broader comparison of how pick a feature's pricing holds up against Canny, Featurebase, and others, see our cheap Canny alternative roundup.
Frequently Asked Questions
Is Astuto really free?
The self-hosted version of Astuto is free (MIT license). Your only cost is the server, which runs $5-15/month on platforms like Fly.io or Railway. Astuto also has a paid cloud option at astuto.io for teams who'd rather skip deployment and maintenance.
Does Astuto have a Flutter SDK?
No. Astuto is a browser-based web portal. Users leave your app, visit a URL, and participate through a browser tab. There's no Flutter or mobile SDK.
Can pick a feature be self-hosted?
The Flutter SDK supports a custom apiBaseUrl override, so you can point it at your own backend. pick a feature doesn't ship a self-hostable server binary — you'd need to build or run a compatible API yourself.
Which tool is easier to set up?
pick a feature is faster. One PickAFeature.initialize call with your API key and it's wired in. Astuto self-hosted requires deploying a Ruby on Rails app via Docker, configuring PostgreSQL, and ongoing server maintenance.
Which should a Flutter developer choose?
pick a feature. It embeds directly into your Flutter app as a native widget — users vote on requests without leaving the app. Astuto requires users to open a browser and navigate to a separate URL, which breaks the in-app experience completely.
If you're building a Flutter app and want real participation from users, pick a feature's in-app widget gets you there. The free tier covers 1 project and 10 requests — enough to validate the fit before upgrading. Start at pickafeature.com.