The evolution of native engineering at Tripadvisor: Part 2
Article Summary
Tripadvisor's mobile team was drowning in nearly-identical UI components. Their server-driven UI framework promised speed but delivered the opposite.
Mason Pomeroy, from Tripadvisor's native engineering team, details their journey rebuilding their SDUI framework from rigid, pre-built 'Sections' into a flexible component system. This is part 2 of a 3-part series on their native app architecture evolution.
Key Takeaways
- Old system required constant new Section types for minor UI changes
- New framework uses composable rows and columns like native layout systems
- Solved GraphQL recursion limits with clever container flattening logic
- 33% increase in throughput on UI focused projects after one year
- Annotation based versioning ensures backward compatibility across client versions
By breaking rigid UI Sections into flexible, composable components with server-controlled layout, Tripadvisor achieved 33% faster delivery on UI projects.
About This Article
Tripadvisor's SDUI framework forced engineers to build 30-40 nearly identical card types. Each small layout change meant writing new API contracts and updating clients, which created a lot of maintenance work and slowed down shipping features.
Mason Pomeroy's team rebuilt the framework with composable Horizontal and Vertical Stacks that work like SwiftUI and Jetpack Compose. Now the BFF controls layout through smaller atomic components instead of relying on pre-built Sections.
Within a year, the Design System Flexibility Framework increased throughput by 33% on UI projects. Teams could now build flexible sections for home pages, hotel details, maps, and account tabs without writing new client code.