Carbon: Dual Binary Mobile App
Article Summary
Uber rewrote their entire driver app serving 3 million drivers. How do you ship that without breaking your business?
Uber's mobile engineering team faced a high-stakes challenge: rolling out a complete rewrite of their driver app (codenamed Carbon) without disrupting service for millions of driver-partners worldwide. Their solution was unconventional but brilliant.
Key Takeaways
- Shipped two complete apps in one package to control rollout granularly
- Built AppDelegate pattern to switch between old and new apps seamlessly
- Implemented crash recovery system that auto-reverts after three failed launches
- Used client-side bucketing for gradual rollout without requiring second session
- Caught regional payment flow bug early, paused that market while continuing elsewhere
Critical Insight
The dual binary approach let Uber safely migrate 3 million drivers to a rewritten app with fine-grained control, automatic fallbacks, and zero business disruption.