The Fundamentals of iOS Development at Revolut
Article Summary
Revolut ships 3 iOS apps weekly to millions of users. Their secret? A modular architecture that cut build times nearly in half and saves 400 engineering hours monthly.
Revolut's iOS team of 70 engineers manages three apps (Revolut, Junior, and Business) using a sophisticated setup built around speed and reliability. They've moved beyond standard tooling to create custom solutions that keep their financial platform running smoothly across all iOS devices.
Key Takeaways
- Migrated from Xcode to Bazel, cutting builds from 4.2 to 2.64 minutes
- 60 modular components in monorepo enable isolated development and second-long tests
- Feature flags allow instant rollback without new releases or app store delays
- Cross-functional teams own modules end to end, from iOS to backend
- 100% test coverage on core modules with custom framework requiring minimal code
Revolut's iOS infrastructure prioritizes build speed and modularity, enabling weekly releases while maintaining security and quality at scale.
About This Article
Revolut's iOS team had to keep code quality consistent across three apps (Revolut, Junior, Business) with 70 developers working in cross-functional teams. They faced the challenge of avoiding duplicate UI components and not repeating solutions.
Revolut built a centralized Design System based on atomic design principles. All reusable UI components live in one place, so developers can grab what they need from an Example App instead of writing the same code multiple times.
The Design System cut down on code duplication and sped up development. Developers stopped rebuilding the same UI elements across the three applications and could spend more time on actual features.