top of page
droidcon+icon.png

7-9 OCT. 2026

BERLIN

DroidCon_icon_rotatet.png
Anita_Singh_edited.jpg

( SPEAKER )

Tunji Dahunsi

Software Engineer

Airbnb

Tj is a software engineer on the infrastuctre team at AirBnb. He's previously spent time reasearching architecture and testing for Android apps in relation to jetpack compose on the Android Developer Relations team at Google where he wrote the Android Architecture guide. He's also an Android media and motion expert.

Session

Rewrite, Refactor, or Reagent? Controlled Large-Scale Migrations for the Best of Both Worlds

Software engineering leads of mature, tech-debt-ridden codebases eventually have to face the ultimate dilemma: do we rewrite the app from scratch, or refactor it in place? While the answer is usually "it depends," arguments heavily favor refactoring in place. Software archeology often uncovers implicit business logic. These are undocumented anywhere but in the legacy source code that rewrites tend to discard and have to painstakingly rediscovered and patched. Industry is rife with examples of rewrites landing poorly, however, large-scale refactors can easily cripple teams. Their sprawling scope and ensuing disruptions to product cycles are often too expensive to greenlight. What if there was a third way? LLMs are fantastic at reading vast amounts of code and maintaining context, but their output is notoriously unpredictable, prone to subtle bugs that compound exponentially at scale. This talk outlines the Reagent method we used at Airbnb to migrate off a custom dependency injection framework to Metro. By defining a tight, self-improving agentic loop, we successfully refactored ~1.5K modules and over 9K files atomically over a constantly moving main branch, modernizing our DI system with minimal disruption to the engineering team. This talk will also cover the non-negotiable invariants for inputs, output verification strategies, and the supporting systems that made this massive migration a success.
bottom of page