One of the biggest difficulties startups encounter nowadays is how to recruit the right people. We’ve been struggling with that ourselves over at Healthy.io, especially in our current endeavor to expand the Android team (aka me). To remedy that, I thought I’d write this post to give some perspective into what being an Android developer at Healthy.io really means.

Here are the best reasons a seasoned Android dev would want to come work with us. No flourish or buzzwords. Let’s get to it:

We build home-based urine tests which improve patients’ and doctors’ ability to diagnose and monitor many conditions…


This is the fifth article in my ‘Advanced Android Flavors’ series.
The first one is here.
The second one is here.
The third one is here.
The fourth one is here.

We all have configurations in our code. If you’re an organized individual, you might be using the resource system or have a config file. My configuration usually consists of a bunch of constants in various locations in my code. What happens when we want these constants to be flavor-specific? 🤔

The XML / config file users get flavor support for free. Simply put your file or resource inside the…


This is the fourth article in my ‘Advanced Android Flavors’ series.
The first one is here.
The second one is here.
The third one is here.
The fifth one is here.

Not too long ago, Gradle release version 3.0.0 of its plugin and with it came some cool but breaking changes. I’ll try to summarize the things we need to do according to our ongoing example.

Flavor dimensions are now required for every flavor. We already have dimensions for our flavors in our example (see part 2). …


I’ve recently rereleased my app Turns. Turns was originally built using Parse. Unfortunately, Parse killed its service and servers back in January 2017, and when it shut down — Turns did as well.
A couple of months ago I decided to rebuild it from scratch using Firebase. So here are 5 I learned during that process, with a heavy emphasis on the Firebase Database.

0. The Realtime Database is a wonderful catch 22

A fair warning before proceeding

I’m starting at 0 because that’s where indices start amiright? But seriously, this is one point to consider before jumping in bed with Firebase.

The whole idea behind the FBDB is…


This is the third and final article in my ‘Advanced Android Flavors’ series.
The first one is here.
The second one is here.
The fourth one is here.
The fifth one is here.

Now that our project’s configuration is nice and complex, let’s add yet another layer of complexity, shall we?

We now want to tackle flavors inside connected library projects. For that purpose, let’s say the app we’ve been working on, from now on named app1, uses a library to perform common actions. …


This is the second article in my ‘Advanced Android Flavors’ series.
The first one is here.
The third one is here.
The fourth one is here.
The fifth one is here.

Now that we have the basics down, it’s time to spice things up. I want to add the ability to configure which server the app communicates with. We have a choice of either dev, staging, or production.

We want to avoid creating a flavor for every possible client-server combination. That’s exactly what Flavor Dimensions do for us.

Flavor Dimensions allow us to define groups of flavors. Gradle creates every…


This is the first article in my ‘Advanced Android Flavors’ series.
The second one is here.
The third one is here.
The fourth one is here.
The fifth one is here.

The Android apps I build at Healthy.io are designed to be white-label, supporting the branding, requirements and customizations of each one of our clients.

My goal is to share as much code as possible between app variations while supporting client-specific logic and assets. I want to do it without entering a copy/paste black hole or a git branching vortex. Sounds doable enough right?

Well, I forgot to mention that…

Itai Hanski

Lead Android developer @ Healthy.io

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store