Migrate to Encore from Firebase?

Hi everyone,

I’ve been following Encore for a while now and have tried it out a little bit. Definitely think there’s something here, the “infrastructure from code” part seems spot on! :fire:

I work at a startup that’s been building a SaaS product for the past two years, using Firebase to deal with a lot of the backend.

We’ve been seeing a steady stream of users coming in over the past year, but it recently started picking up pace, which is now causing us to have a lot of scalability conversations internally.

It’s a great problem to have! But as we’ll likely be growing our team – currently we’re about 6 full time developers – we think Firebase is probably not going to be a good choice going forward.

I think Encore could be a good fit for what we’re doing, but since it’s relatively new I need to introduce it to my team, who aren’t very familiar with Go. I think we’ll either way probably going to want to do a POC. – That’s why I wanted to ask if there’s any existing guide or examples for how to migrate to Encore from Firebase?

We don’t really have a lot of time to spend, so anything that makes it clearer how to proceed would be much appreciated!

Hey Manana, welcome! That’s a great question.

Firebase is an amazing product but as you pointed out it doesn’t scale very well beyond a certain point, usually around where you’re at.

The way Firebase works with serverless functions is convenient for starting out but at some point you want the additional flexibility of a “proper” backend. The downside with that has been that setting up all of that is much more work than just using Firebase. Encore makes this aspect a lot more seamless.

The best way to get started is to do a POC like you suggested. I suggest taking a part of your application, or a new feature, and building it with Encore. You can use Encore Cloud completely for free for prototyping this, or you can integrate it with your GCP account where you’re using Firebase.

Inside your Encore application it’s very straightforward to integrate with your existing Firebase database. Here’s a guide on how to integrate Encore with Firebase for authentication, and the same approach for all of Firebase’s functionality.

On the programming language side, Go is one of the easiest languages to learn if you’re used to other common programming languages (JavaScript, Python, Java, etc), and there are great resources available. Most people can get up to speed and comfortable with Go in just a few days.

And since you’d be using Encore, it saves you from a lot of the traditional complexity you have to deal with when building backends and makes it a lot easier to ramp up as you start to onboard new developers with features like Encore Flow and Generated API Docs.

2 Likes

Thanks @andre, that makes sense!
Are you planning any more guides for Firebase → Encore use cases?

And where would you say that Encore differents from “standard Go”?
From what I’ve seen so far it’s not really different, it’s just some small things that seem to be Encore specific around how you work with the “built it” features.

Yeah absolutely, we’re working on both more guides as well as functionality to make it easier to migrate existing functionality over to Encore.

If you have any ideas for what would be useful to cover in a guide, let us know! And if you want to contribute something they’re all open source.

1 Like