I read this out of academic curiosity. For serious implementation, you lost me at Firebase. I write my own APIs and use my own authentication system which is really just JWT with some structure in place.
Well written and illustrated, though. Nicely done.