The evolution of native engineering at Tripadvisor: Part 1
Article Summary
Tripadvisor's iOS team was drowning in coordinator spaghetti. Navigation paths were impossible to trace, and even senior engineers couldn't debug their own flows.
Benoit Sarrazin shares how Tripadvisor migrated their large iOS team from MVVM-Coordinator to The Composable Architecture (TCA). This is part 1 of a 3-part series on modernizing their Server Driven UI platform.
Key Takeaways
- Navigation required 8 steps of duplicated events cascading through coordinator chains
- TCA migration reduced code volume by 15-30% while improving testability
- Leaf-to-root migration strategy kept the app functional throughout transition
- State mutators enabled shared logic across reducers without action duplication
- ObservableState macro delivered performance gains through granular property observation
Tripadvisor transformed their iOS architecture from unpredictable coordinator chains to predictable, testable TCA reducers while cutting code and accelerating development.
About This Article
Tripadvisor's MVVM-C architecture let coordinators launch any other coordinator, which meant developers had to duplicate events across multiple coordinator chains. Onboarding took weeks instead of days.
Benoit Sarrazin's team switched to The Composable Architecture (TCA) and migrated from the leaf up to the root. They consolidated navigation logic into a single state-based router and used state mutators to share mutation logic across reducers without duplicating actions.
TCA implementations used 15-30% less code than MVVM-C. Tests became more readable with TestStore assertions. New team members could get up to speed in days instead of weeks because the documentation and patterns were consistent and clear.