Engineering Uber Lite
Article Summary
Uber's main app hit 60MB and struggled on older Android devices in emerging markets. So they built something radically different.
Uber's engineering team in Bangalore created Uber Lite, a stripped-down rider app designed for 2G networks and Android phones from 2015 or earlier. The challenge: 40% of global Uber riders used older hardware that couldn't handle the feature-rich main app.
Key Takeaways
- Compressed entire app to under 5MB download, 25MB installed (vs 60MB original)
- Maps load only on demand to save bandwidth on sub-3G networks
- Single network request per screen, all payloads under 1 MTU
- Server-side orchestration handles heavy lifting instead of client processing
- Maintained single DEX file by staying under 65,536 method limit
Uber Lite delivers the core ride-hailing experience in 5MB with sub-300ms screen transitions, even on 2G networks and 2013-era Android phones.
About This Article
Uber Lite engineers found that trimming the existing app wasn't enough. The architecture itself needed to be redesigned because 56% of global riders use Year Class 2015 Android devices or older with unreliable network infrastructure.
The team built a new architecture using a server-driven client model. This moved heavy computation to a back-end orchestration layer, which kept network payloads under 1 MTU and removed the need for bloated native code.
Harshit Bangar's team cut down libraries like RIBs and removed 200KB of screen stack dependencies. They got response times below 300 milliseconds while keeping all core rideshare features in a single DEX file.