How We Built A Native Android App Using BaaS Solution

One of our teams is currently developing an Android version of our famous Interview Assistant Pro app (currently available on iOS only), a mobile solution for HR and recruitment specialists allowing them to schedule interviews with candidates, fully set up and monitor interview process, select pre-built or create custom questions and interview templates, record answers, etc.

We faced the following issue on the project - the lack of resources; this issue is quite common amongst IT service providers who run a lot of clients' teams while having scarce resources for internal projects. To cut a long story short, we had not a single back-end developer on bench (they all were working on client projects) and didn't want to hire a freelancer or a full-time developer for this non-billable project. So, the challenge was to build a native Android app without hiring another back-end developer. And we were able to find an interesting solution which I'm going to share with you in this blog post, as you may want to apply it to your projects as well.

During our very first brainstorm session we decided that having a cross-device synchronization was sort of nice to have, so I put this into our backlog and I asked myself: “Do we really need a back-end developer now? Geez, where can I find one?”.

And one of our Android developers said to me: “What about Realm?”

Realm website says “Build better apps, faster”, and it basically provides not only a mobile database (which is not just a database, but more like a JSON objects storage), but an all-in mobile synchronization platform with features such as:

At first, we chose to use Realm as a database, and started digging into their test environment to see if it's really what we’re looking for. But literally next day, another developer came back with the other option - Firebase that provides a complete cloud based infrastructure, not just a data synchronization tool.

At the end of our second brainstorm session we came up with two solutions:

We had the following specific input requirements:

It was tough to choose between Realm and Firebase, and having analyzed the pros and cons of each framework, we arrived at the following conclusions:

Realm

Firebase

Having a cloud server and being more like a stable enterprise solution certainly affected our  decision - we chose Firebase and by the end of the next day we’d already hosted our app on Firebase!

Our initial database structure drafts


|
|

In conclusion, I would like to say that there is a plenty of existing services (most of them are extremely cheap) providing a complete infrastructure or just a bulk of useful tools. And all of them are waiting to solve your problems and unique requirements,  all you need to do is just to bring up your developers, ask their opinion and do a little investigation!

Good luck!

Are you looking to build a native or hybrid app fast and cost-effectively?
Send your project request now!

PM at Intersog. Have a technical background, public speaking experience and a Python-worshipping hobby. A big fan of "Getting Real" methodology in project management, mostly lean product ideas. Feel free to contact me in LInkedIn.

Leave a comment