How We Revamped Tokopedia Play for iOS: So Fast & Productive
Article Summary
Tokopedia's iOS team rewrote their entire live streaming chat feature from scratch in record time. The reason? React Native couldn't handle the load during major promotions.
The Tokopedia Play feature (live group chat with quizzes and polls) was crashing under heavy traffic due to React Native bridge issues. The team made the bold call to rebuild everything in native Swift before their next big TV event.
Key Takeaways
- Switched from React Native to native Swift with Texture framework for 60fps performance
- Multi-module architecture slashed compilation times during development
- Three-layer architecture (domain, presentation, service) improved testability and maintainability
- Migrated from Sendbird to in-house WebSocket server for better scalability
The native Swift rewrite delivered a stable, performant live chat experience that could handle massive traffic spikes during promotions.
About This Article
Tokopedia Play's React Native implementation had bridge mechanism failures when handling heavy load during promotions and TV events. This caused chat to render incorrectly and content display issues.
Muhammad Ridho K. Pratama's team built a three-layer architecture with domain, presentation, and service layers. They added a ContainerViewController to manage socket logic, plus two child ViewControllers so each component could work independently.
The multi-module architecture let developers compile just their own module instead of the whole codebase. This cut iteration time significantly during development and sped up compilation cycles.