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.