Nubank Oct 1, 2019

Why we think Flutter will help us scale mobile development at Nubank (Detailed PDF Report

Article Summary

Nubank evaluated Flutter, React Native, and Kotlin Native across 11 criteria to solve a critical scaling problem. Here's how they decided.

In 2019, Nubank's Mobile Architecture Task Force ran a rigorous R&D project to pick one cross-platform framework. They tested production features, ran usability studies with engineers, and analyzed everything from developer experience to long-term viability.

Key Takeaways

Critical Insight

Nubank chose Flutter as their main mobile platform based on superior testing infrastructure, lower maintenance risk, and better scalability for autonomous product teams.

The 'catastrophic scenario' role play technique they used to break final deadlock is worth reading about.

About This Article

Problem

Nubank's mobile teams worked across three separate tech stacks: native iOS with Swift, native Android with Kotlin, and React Native. This fragmentation created knowledge silos and made it hard for developers to share expertise or onboard new people.

Solution

The Mobile Architecture Task Force built an 11-criterion evaluation framework to compare Flutter, React Native, and Kotlin Native. They tested it with both junior and senior engineers, reviewed over 1,000 pull requests from each platform, and ran catastrophic scenario role-plays to see how each would handle real problems.

Impact

Flutter won the evaluation. It had 3 production dependencies compared to React Native's 32, zero breaking changes since version 1.0.0, and better built-in testing tools for unit, integration, and end-to-end tests without needing a renderer. Nubank standardized on Flutter across the company.