MyFamilyTracker
Real-time family location sharing — Firebase Realtime DB for sub-second propagation, WorkManager + ForegroundService for OS-compliant background collection, geofencing via Google Maps API.
Firebase can run your whole backend or quietly balloon your app and your bill. Here's the lean subset I actually use across production Android apps, and the services I deliberately leave out.
On this page
Firebase is the default backend for a lot of solo Android developers, and for good reason — it removes the need to run servers for a long time. But it's also a buffet, and loading your plate with every service is how apps get bloated and bills get surprising. After using it across many production apps, I've settled on a small subset that earns its place and a longer list I skip.
If I add only one Firebase service, it's Crashlytics. You cannot fix crashes you don't know about, and users overwhelmingly uninstall rather than report. Crashlytics turns a silent uninstall into an actionable stack trace with device and OS context. It's lightweight, and the visibility it gives into what's actually breaking in the field is worth more than almost anything else on the list. The first thing I check after a release is the Crashlytics dashboard, and it's caught regressions I'd never have reproduced locally.
Firebase Analytics is useful, but it's easy to over-instrument and end up with hundreds of events nobody looks at. I log a handful of events that map to real questions: did the user complete the core action, did they hit the paywall, did they convert. That's it. The discipline is logging events tied to a decision I'll actually make, not logging everything "in case." Restraint here also keeps me honest about privacy — every event is data I'm responsible for and have to declare in the Play Store data safety section.
The single most valuable thing Remote Config gives a solo developer is a kill switch. When a feature misbehaves in production, being able to disable it without shipping an update and waiting for review has saved me real grief. I keep a small set of flags — feature toggles and a couple of safety switches — rather than configuring the entire app remotely. Over-using Remote Config turns your app's behavior into something you can't reason about from the code alone, so I keep it to the things I genuinely need to change without a release.
Firebase Auth and Firestore are powerful, but they're also where apps quietly take on real complexity and cost. Many of my apps are local-first and need neither — data lives in Room on the device, and there's no account at all. I add Auth and Firestore only when a feature truly requires accounts or cross-device sync, never by default. A local-first app is simpler, more private, works offline, and has no backend bill. When sync is a genuine user need I'll reach for them, but I make the app justify the backend rather than assuming it.
Two things creep if you're not watching: the app's binary size and the monthly bill. Each Firebase SDK adds to your APK, so I only include the ones I use and let R8 strip the rest. On cost, the free tiers are generous but not infinite, and a runaway query pattern or chatty analytics can move you into paid territory faster than expected. I check usage periodically rather than discovering it on an invoice. The whole point of using Firebase as a solo developer is to stay lean and avoid running infrastructure — defeating that by bloating the app with unused services is the trap to avoid.
The principle underneath all of these choices is to add a service only when you can name the question it answers or the problem it solves. Crashlytics answers "what's breaking in the field." Remote Config answers "how do I turn this off without a release." When I can't articulate the concrete need a service meets, that's the signal I'm adding it out of habit or fear of missing out, not because the app requires it. Firebase makes it frictionless to bolt on more, and that frictionlessness is exactly the danger — each addition is free to enable and not free to maintain, declare, and ship. Lean is a decision you have to keep making, not a default you get for free.
Sudarshan Chaudhari
AI Systems Builder / Product Engineer
Bangkok, Thailand
Solo Android developer with 13+ years in QA, building Android apps, AI automation systems, and developer tools at SudarshanTechLabs.
Related Posts
Related Apps
Real-time family location sharing — Firebase Realtime DB for sub-second propagation, WorkManager + ForegroundService for OS-compliant background collection, geofencing via Google Maps API.
Building something? Available for Android dev and QA consulting.
Work with meComments — powered by Giscus
Real-time family location sharing — Firebase Realtime DB for sub-second propagation, WorkManager + ForegroundService for OS-compliant background collection, geofencing via Google Maps API.
ReadSend gentle nudges, emojis, and short voice notes to say "I miss you" without chatting.
Read