Firebase Almost Ruined My Startup
How Firebase Started To Become a Problem

Despite getting the benefits, we started to feel the problems after six months when we tried to add more features and scale more for our growing number of customers.

First problem: Query

The first problem was queries. To add more features, we had to do more complex queries.

But there are many limitations for queries or filtering the data in Cloud Firestore. You could easily perform simple queries, but it was very difficult to run a complex query.

You have to understand that it’s not SQL. So, we had to create more collections and we duplicated more data for simplifying the complex queries.

But duplicating data also created some other problems. We had to update 5-6 collections when any data changed.

Second problem: No solid backend

Firebase’s purpose is to create a serverless environment, so it’s obvious that it won’t have a backend as we would use in another system.

As there was no backend, we accessed the database directly from our app. But it was a huge mistake. Reading or writing data directly caused many problems.

There was another way to access the data. We also tried that. We used the Firebase cloud function to make APIs. But cloud function APIs don’t perform like normal APIs. There are some limitations. It’s slow and not developer-friendly.

Third problem: Crash!

When the tech team’s size increased, the real problems started. Every developer had to have a clear understanding of the database and how it worked.

Because they had to read or write data directly from the database, we had to waste a lot of time on that. As we decided to build three different platforms (Android, iOS, and web), it was very impractical to allow developers to write data directly in the database.

If any developer from any platform pushed the wrong formatted data, then the other platforms crashed. The productivity of the whole tech team became slow.

Fourth problem: The security rule!

Security is very important for every tech product. There is a special feature in Firebase for enhancing security. As Firebase allows to read and write data directly from the frontend side, they have a system to write “security rules” in the admin panel.

I find it very inconvenient. It’s much easier to write security rules in an API.
[]
['Startup', 'Software Development', 'Firebase', 'Technology', 'Programming']