Building for 100M Users: Nubank’s Flutter Journey

Discover Thiago Ghisi’s insights on Nubank’s path to mobile scalability with Flutter

February 25, 2025
and 
February 25, 2025
updated on
February 25, 2025
By 
Guest Contributor

In the latest episode of our Build to Succeed podcast, host David DeRemer talks with Thiago Ghisi, Director of Engineering at Nubank. With nearly two decades of experience across industry giants like Apple, American Express, and ThoughtWorks, Thiago brings a wealth of knowledge on mobile engineering, leadership, and innovation.


Here are some of our favorite moments from their conversation.

Navigating From Mobile Engineering to Leadership

Thiago started by sharing his career evolution, from starting with Java and JavaME, working across web and QA, to eventually focusing on mobile engineering. His journey has been shaped by his belief in being a “glue person”—someone who fills gaps in teams and connects different functions to drive progress. He emphasizes the importance of full-stack engineering, advocating for a well-rounded skill set that balances specialization with broad problem-solving abilities.

The Shift to Flutter at Nubank

One of the major themes of the conversation in this episode is Nubank’s adoption of Flutter, a decision driven by the need to scale mobile development effectively. Before adopting Flutter, Nubank faced increasing bottlenecks, with native development slowing down innovation and product delivery. By transitioning to Flutter, the team was able to:

  • Reduce code duplication across platforms
  • Improve developer experience and onboarding
  • Scale their engineering teams more efficiently
  • Maintain feature parity without overburdening the mobile team

Thiago explains that after evaluating various options, Flutter emerged as the optimal choice due to its superior developer experience, performance, and seamless integration with native code.

"Imagine if every time you needed to build a new screen, you had to touch mobile, backend, database, and infrastructure. That’s not scalable. What if instead, you had high-level platforms that abstract away all the complexity?" he reflected.  

Read more about The Enterprise Advantages of Flutter Development and how companies are reaching quality while delivering faster in this whitepaper. 

Revolutionizing Mobile Development with Server-Driven UI

Beyond Flutter, Thiago delves into Nubank’s journey with Server-Driven UI (SDUI), a cutting-edge approach that allows mobile applications to be dynamically driven by the backend. This methodology enables:

  • Dynamic UI updates without requiring app releases
  • More modular and scalable mobile architecture
  • Continuous delivery and faster iteration cycles
  • More efficient governance of mobile experiences

Thiago explains that while SDUI does come with challenges—including managing large payloads, maintaining UI consistency, and balancing backend and frontend processing–it’s ultimately been a game changer for Nubank, allowing them to iterate quickly and serve over 100 million customers seamlessly.

At Nubank, they’ve played extensively with SDUI, achieving a very successful implementation over several years. The process wasn’t built overnight—it required multiple iterations, leveraging Flutter, Material Design, and a robust SDK to create a decoupled system that allows everything to be sent over the network. They even developed DSLs in Clojure on the backend, using Protobuf for structured communication between the backend and client, ensuring strong contracts and governance.

Thiago explains that one of the key challenges of Server-Driven UI is the additional layer of runtime processing. Unlike traditional UI frameworks that optimize at build time, SDUI must handle dynamic permutations of components at runtime, often requiring additional optimizations. Nubank experimented with different styles of SDUI, including:

  • Checking for updates at startup and loading new versions in the background
  • Full interpreter-based approaches, where every interaction is fetched from the server dynamically
  • High-level abstraction platforms to streamline product development and reduce engineering overhead

The business case for SDUI is that it enables continuous delivery, removes dependencies on app store release cycles, allows for rapid bug fixes, and accelerates product iteration without requiring users to constantly download new app versions. With a 2,000+ engineer organization, Nubank needed a solution that empowered teams to build and iterate autonomously, reducing dependencies between mobile and backend engineering teams.

Wrapping Up

Thiago’s insights reinforce the idea that technology choices aren’t just about frameworks and languages—they’re about empowering teams, optimizing workflows, and enabling faster, more innovative product development. While Nubank is redefining mobile banking with cutting-edge engineering practices, their engineering-first approach positions them at the forefront of mobile fintech innovation.

Interested in learning more about Very Good Ventures and how we can help companies build world-class digital experiences?

Contact us, and let’s explore your business needs. We can help!

More Stories