Why I Switched to Composable Architecture for iOS
When I joined Agoda, the Deals page was a monolith. Every new feature required touching half a dozen files, tests were brittle, and deployments were scary. After revamping it with composable architecture, our team shipped features 3x faster with far fewer regressions.
What is Composable Architecture?
The Composable Architecture (TCA) is a library for building applications in a consistent, understandable way. It puts state management, side effects, and composition front and center.
The core idea: your app is a function of state. Every user action produces a new state. Side effects are explicit and testable.
Why it changed everything for Deals
Before: a single massive view controller with interleaved networking, state, and UI logic.
After: small, focused reducers that compose together. Each feature owns its state. Features don't know about each other.
The result was a 30% increase in user engagement — not because of TCA itself, but because we could finally ship high-quality features quickly.
Key lessons
- Start with the domain, not the UI
- Make side effects explicit from day one
- Composition beats inheritance every time
- Testability is not optional for features used by millions
Nirmit Patel
Technical Architect & iOS Developer