SYSTEM Cited by 1 source
RIB Architecture (Uber)¶
RIB (Router-Interactor-Builder; github.com/uber/RIBs) is Uber's cross-platform mobile application architecture, first used for the rewrite of the main Uber rider app in the 2016+ era. Structurally analogous to microservices on the backend — each RIB has a clear single responsibility and is ownable by a separate team and separately feature-flaggable. (Source: sources/2024-03-14-highscalability-brief-history-of-scaling-uber)
Why RIBs¶
Uber's mobile app repositories hit the monolithic bottleneck that the backend had hit earlier — many features, many engineers, a single releasable codebase. RIBs borrow the microservice playbook for the mobile app:
- Separation of responsibilities. Each RIB does one thing.
- Core vs. optional split. Stricter review for core RIBs protects the critical flows — taking a ride, seeing a trip — from regressions in peripheral features.
- Feature flagging per RIB. Optional features can roll out independently; core flows remain confidently shipped.
- Team-ownable. Different RIBs get different owners; scaled the mobile codebase to "hundreds of engineers".
Adoption¶
As of the 2024-03-14 retrospective, "all our apps have adopted RIBs or are migrating towards it" — including the main Driver app, Uber Eats apps, and Uber Freight. Originally rolled out via the main rider app rewrite.
Seen in¶
- sources/2024-03-14-highscalability-brief-history-of-scaling-uber — introduced as the 2016+ mobile-architecture rewrite, paralleling the backend's earlier microservice transition.
Related¶
- companies/uber — origin org.
- concepts/feature-flag — per-RIB feature flagging is core to the model.
- concepts/separation-of-concerns — the underlying design principle.