The pieces behind the curtain
Location tracking
What it is: Continuous position updates from the rider and driver apps.
How it is used: It keeps pickup, route, and trip progress aligned as people move.
Why it is used: A ride marketplace falls apart if the platform does not know where both sides are.
Dispatch and matching
What it is: The logic that pairs a rider request with a nearby driver.
How it is used: It weighs proximity, availability, direction, and trip fit before sending the request.
Why it is used: Matching is the core marketplace job, not just a background detail.
Pricing and ETA
What it is: The estimate layer for fare and arrival time.
How it is used: It translates distance, traffic, and demand into numbers the user can trust.
Why it is used: People will only accept a trip when cost and timing are clear.
Trip state machine
What it is: The lifecycle of request, pickup, en route, and completion.
How it is used: It keeps both apps on the same version of the trip story.
Why it is used: The product is really a sequence of changing states.
The simple path first
Request the ride
The rider opens the app and asks for a trip from A to B.
Find nearby supply
The platform looks at driver position, availability, and direction.
Confirm the trip
Pricing, acceptance, and route expectations are settled quickly.
Track the trip
The ride stays live until pickup, drop-off, and receipt are all complete.
What happens after the tap
Matching is a live state machine
Why the order matters
Uber has to keep the rider app, driver app, dispatch logic, ETA, and trip state in sync. The important part is not just matching once, but keeping the trip state accurate while people move.
What the main layers are doing
Matching
What it is: The part that pairs a rider request with a driver.
How it is used: Location, availability, demand, and acceptance rules decide the best match.
Why it fits: The right system here is a marketplace matcher, not a simple queue.
ETA and pricing
What it is: The estimate layer that keeps the trip understandable.
How it is used: Distance, traffic, and demand turn into a price and arrival time the user can act on.
Why it fits: A ride app without ETA feels blind.
Trip state
What it is: The lifecycle of pickup, en route, and completion.
How it is used: The trip model keeps moving so both sides know what stage they are in.
Why it fits: State is the product here because timing changes every part of the experience.
Location updates
What it is: Constant position refresh from both apps.
How it is used: Movement signals keep route, driver, and rider views aligned.
Why it fits: If the location lags, the whole ride feels broken.