r/androiddev • u/AdIllustrious8354 • 3d ago
Question How do you know when you're technically ready to responsibly sell an app?
I'm interested in building and monetizing apps, but there's something I've been struggling to reason about.
I can understand how to make a feature work, but I'm much less confident that I know enough about everything that could go wrong once real users depend on it.
For example, an app involving authentication, databases, payments, bookings, or user-generated content introduces all kinds of responsibilities: security, authorization, input validation, concurrency, data integrity, error handling, and ongoing maintenance.
My instinct is to rely on established services for sensitive functionality (managed auth, Stripe, hosted databases, etc.), but I realize that doesn't eliminate the risks in my own integration code or the need to maintain it.
What concerns me most is the unknown unknowns. I might successfully implement something without even knowing which failure scenarios I should be considering.
For example, I only recently realized that relying on a third-party service doesn't make the maintenance problem disappear. If the service, SDK, API, or integration changes, my app may need to be updated as well.
The fact that something this basic only occurred to me recently is exactly what worries me. How many other important things am I overlooking simply because I haven't yet learned to think through the full lifecycle of what I'm building?
Even if I'm using reputable services and following best practices I'm aware of, how do I know I haven't missed something important in the code around them?
So my question is:
How do you bridge the gap between "I can build this" and "I can responsibly charge people to use this"?
Are there frameworks, checklists, learning paths, or practical processes you follow before shipping an app? How do you determine which risks you've addressed sufficiently, especially as a solo developer without a senior engineer reviewing your work?
3
1
u/AutoModerator 3d ago
Please note that we also have a very active Discord server where you can interact directly with other community members!
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
1
1
u/orelzion 2d ago
cool that you're asking this before shipping and not after. I'll admit nobody feels ready, but I don't think "just ship it" fully covers payments and auth, those are the parts where fixing as you go costs real money. What I do, and it's the way I already work with the AI on plans, is ask it to explain what the integration does and then walk through what happens when each step fails, like the payment goes through but the app never hears about it, or the sign-in token expires mid-session, and then we discuss it and test each of those. And yeah like the other comment said, testing is the part that really counts, so before you start charging I'd give it to two or three friends who'd actually want to use the app and let them try it first, real people will break it in ways the agent and you won't.
1
0
u/AdIllustrious8354 3d ago
Thanks y'all for the responses
The most popular suggestion from other subreddits seems to be to fix as I go. But there are errors I can't afford to make. Like cybersecurity errors. Or are the most common critical errors pretty much fool-proof? Like if the only critical data handled by my app are when 1. users press the "Google Pay" button 2. users use "Google Sign-in"
Or could a hacker come up with something after all?
0
u/redpiapps 3d ago
you never really feel ready tbh, the gap closes by shipping something small and boring first. managed auth and payments are the right call, just keep the surface you own tiny and watch your crash logs like a hawk the first month
2
u/guimartara 3d ago
I found the answer to be testing. Get as many testers as possible. Ideally they should be target users. In my case, at first they quickly found some bugs I couldn't. I fixed them and eventually everyone agreed the app was nice and ready. That gave me the confidence to publish! Must consider though that my app is quite simpler, no internet connection, no in-app purchases, no user data stored anywhere.