Aug 2018 – Nov 2021Staff Engineer, Android Lead

Rakuten Viki

Led the Android team for a global streaming service, delivering Asian content to millions of fans across the world. Supports mobile, tablet, TV and Chromecast. Nominated for Google Play Awards.

Background

Joined the Android team at a time when mobile architecture patterns were fast evolving, Kotlin becoming an official language, and Google getting opinionated about how to build apps.

The constraint

Building for a global audience of 100m+, much of it on cheap devices and expensive data.

Highlights

Modernising the stack

Pushed for Kotlin adoption. Migrated from RxJava to RxJava2 and eventually coroutines/flow. Introduced dependency injection and proper testing capabilities.

One codebase, four form factors

Led the refactor and modularisation effort, designing the abstraction and defining module boundaries, resulting in a single application codebase for different form factor targets.

Transactional Video on Demand and offline playback

Customised ExoPlayer with DRM. Delivered a new monetisation model which required building the billing, purchase flow, downloads management and content access entitlement.

The results

Focused on reliability while supporting a huge range of devices with different capabilities, bringing down crash rate by 80% and reducing app size by 60%.

Nominated for the Google Play Awards in two categories: Best Living Room Experience and Standout Build for Billions Experience. Also achieved Android Excellence status and Google Play Editor’s Choice recognition.