Sign-up walls
Nobody creates an account just to report a bug.
With fedo
No sign-in. Votes and posts follow users when they sign up.
FEEDBACK SDK FOR ANDROID & iOS
Users report bugs and vote on what you build next. You add it with two lines of code.
Free plan · no credit card
Running in production in our own apps
Check the code iOS SDK on GitHub iOS sample app Android SDK on Maven Central
Why fedo
Built by a mobile developer who ran into all three.
Nobody creates an account just to report a bug.
With fedo
No sign-in. Votes and posts follow users when they sign up.
Web portals send users away. Many never come back.
With fedo
A native screen inside your app. They never leave.
A bug report with no way to tell who wrote it.
With fedo
Your own user ID, the one Crashlytics already knows.
The in-app experience
One composable on Android or one SwiftUI view on iOS opens a native screen where users post ideas, vote, and follow along - it ships with the SDK and matches your platform out of the box.
Built for your theme
Colors, shapes and typography come from your app's MaterialTheme, so the feedback screen looks like you built it.
Your dashboard
Feedback your users submit through the SDK flows straight into the fedo dashboard. Read the full thread, see who voted, and move items through your roadmap.
Works where your users are
Native SDKs that drop into the apps you already ship - same feedback screen, same dashboard.
Integrate in minutes
Initialize the SDK, then open the feedback screen. Identifying your user and enriching their profile are optional.
implementation("com.getfedo:sdk-android:0.4.0") Fedo.initialize(applicationContext, "<api-key>") FedoFeedbackScreen( onDismiss = navigateUp // wire up your navigation system) Fedo.setUserID(id)Fedo.setUserEmail(user.email)Fedo.setUserDisplayName(user.name)Fedo.setUserProperty(key, value)
.package(url: "https://github.com/getfedo/fedo-ios", exact: "0.4.0-beta.1") Fedo.initialize(apiKey: "<api-key>") Button("Feedback") { showFeedback = true } .presentCreateFeedback(isPresented: $showFeedback) Fedo.setUserID(user.id)Fedo.setUserEmail(user.email)Fedo.setUserDisplayName(user.name)Fedo.setUserProperty("plan", value: "pro")
Pricing
Every plan includes the full SDK, the dashboard, and unlimited feedback. Start free on one app — no credit card, no trial clock.
Early access pricing. Paid plans open shortly and rates rise as fedo grows. Email us while they're in early access and we'll send your price, then lock that rate for as long as you stay subscribed.
Kick the tyres on one app.
Free
No credit card
Start for freeFor a small portfolio of apps.
Get early accessWe reply with your Plus price and set you up. Cancel anytime.
Everything, for teams shipping weekly.
Get early accessWe reply with your Pro price and set you up. Cancel anytime.
Compare plans
| Feature | Starter | Plus | Pro |
|---|---|---|---|
| Apps | 1 | 3 | 5 |
| Team members | 1 | 1 | Unlimited |
| SDK | |||
| Feedback screen | Included | Included | Included |
| Quick feedback sheet | Not included | Included | Included |
| Guest users (no login required) | Included | Included | Included |
| Custom user properties | Included | Included | Included |
| Custom theme & colors | Included | Included | Included |
| "Powered by fedo" badge | Shown | Removed | Removed |
| Dashboard | |||
| Kanban board + vote sorting | Included | Included | Included |
| Comment threads | Included | Included | Included |
| Voters & users list | Included | Included | Included |
| Duplicate detectionComing soon | Not included | Included | Included |
| Import from GitHub, Play Store, App StoreComing soon | Not included | Included | Included |
| Team | |||
| Webhooks (Slack, Discord, custom)Coming soon | Not included | Not included | Included |
| Priority support | Not included | Not included | Included |
Need more than 5 apps? Talk to us.
FAQ
On Android, add com.getfedo:sdk-android to your Gradle dependencies, call Fedo.initialize(applicationContext, apiKey) in Application.onCreate, then place the FedoFeedbackScreen() composable wherever you want users to reach it - a button, a shake gesture, a menu item. On iOS, add the fedo Swift package, call Fedo.initialize(apiKey:) at app start, then embed the full feedback board with the FedoFeedbackView SwiftUI view or present a submit-only sheet with the .presentCreateFeedback(isPresented:) modifier. No UI to build, no backend to run.
Android (Kotlin) and iOS (Swift) are available now. Flutter (Dart) is in development and coming soon. All platforms will share the same dashboard and deliver the same polished in-app experience.
Tools like Canny and UserVoice ask users to leave your app and log in to a separate portal. fedo lives natively inside your app - users submit without creating an account and never lose context. That is an argument about friction, not a measured result: where a portal loses people, step by step.
Only a fixed set of device details. fedo receives what users submit - feedback, comments, and votes - plus any user details you set, such as a user ID or email. The Android SDK also attaches device and app properties to each user automatically (manufacturer and model, OS version, screen size, locale, time zone, app version), and these cannot be turned off. There is no fingerprinting, location tracking, or ad-related data collection.
Starter is free, no credit card required. Paid plans start at Plus, for teams running more than one app - see pricing for details.
Weighing it against something else? fedo vs Canny · vs UserVoice · vs Gleap · all comparisons
“I’ve shipped native mobile apps for 6+ years, to a few hundred users and to hundreds of thousands. fedo is the feedback tool I kept wishing I had.”
Founding users wanted. fedo is new. The first teams get a direct line to me and a say in what ships next.
Request access →Start free on one app, upgrade whenever you add the next one.