| Real-world "things we ran into" stories like this are super helpful when choosing a service or technology. Unfortunately, I have a similar experience with Firebase, where I wish I would have known that: * Don't like the text of your Firebase Auth SMS verification message that we send on your behalf -> tough luck * Your app name is longer than 15 characters? We are not going to include that hash in your Firebase Auth SMS message that is required by Android to perform an automatic login. * Global Firebase Auth SMS pricing does not work you economically? Welcome to implement the whole thing yourself anyways. * Dealing with development environments is flakey, as Firebase's emulators work 98% similar to production, but you will regularly hit things that are different. * You can't completely automate environment creation/tear down, as not everything is covered by Terraform or Google's own APIs, so you will end up doing manual things in their admin interface. * Real-time subscriptions in Firestore end up not being worth the tight schema coupling between client and server, as you can't control when the updates fire and you end up with a lot more unintended side effects than what this technology benefits you. So after a year of workarounds you finally end up deeply understanding the trade-offs involved in Firebase and make the decision that its downsides exceed its out of the box benefits. :( |