Freeletics Wahib-Ul-Haq Jul 4, 2017

Android Tech Stack Overview

Article Summary

Wahib-Ul-Haq from Freeletics opens the vault on the complete Android tech stack powering four production fitness apps. This is the kind of transparency engineering teams rarely share publicly.

Freeletics manages four separate Android apps (Bodyweight, Running, Gym, and Nutrition) that collectively serve millions of users. The team shares their entire tech stack, from build tools to third-party libraries, including what they're actively replacing and why.

Key Takeaways

Critical Insight

A production-tested Android stack spanning 40+ libraries with honest insights about what's working, what's being replaced, and the decision framework behind each choice.

The article reveals their specific approach to managing technical debt across multiple apps without compromising user experience.

About This Article

Problem

Freeletics had to maintain four separate Android apps (Bodyweight, Running, Gym, Nutrition) while keeping up with Android's constant changes and avoiding technical debt from outdated dependencies.

Solution

The team decided to keep Android SDK, Gradle, and Support Libraries current (SDK 25.0.2, Gradle 2.3.1, Support 25.1.1) and replaced heavy libraries like Guava with lighter options such as IxJava and Arrow.

Impact

They adopted Java 8 in the Bodyweight app and built a stack of 40+ libraries they knew worked well, with clear rules for adding new ones. This kept their apps fast, able to scale, and ready for new Android APIs without slowing things down for users.