The team I interned with over the summer at Uber--the Innovation Team--is a small internal group that specializes in prototyping and shipping MVP ideas in 10-12 weeks, testing them in the field, and then integrating the concepts that prove useful into the core Uber infrastructure.
The problem that I worked with over the summer fell under the UberEATS umbrella. The problem was as follows: in many markets, there are restaurants which are relatively driver-inaccessible because of parking, distance or a number of other factors, and those areas see high rates of driver cancellations and long E2E times.
The solution? Introducing a new member in the EATS process called the Runner. The Runner's job is bring food from restaurants directly to the curbside, where the driver can simply accept the food without ever leaving the car, thereby increasing efficiency, supply hours, and satisfaction, and decreasing E2E time.
The Runners Flow
My job was to take this logistically-heavy problem and solve it with an app which would use Uber's internal EATS APIs to seamlessly coordinate the Runner with restaurants and couriers. After many iterations and tests, I came up with the following flow.
First, the Runner receives an "run request" from a restaurant. Once accepted, the run appears in the "Current Deliveries" tab with essential details such as restaurant location, order number, and the estimated food ready time.
The Runner should arrive at the restaurant at the estimated ready time and tap "Picked Up," at which time the app will start searching for a driver. Once paired, the driver's information as well as the drop-off location will appear. Finally, once the handoff has been made, the Runner taps "Complete Order" and the process restarts.
Since the Innovation Team operates outside of Uber's Production environment for rapid prototyping and beta testing purposes, it is crucial for us to log as much data as possible to validate (or invalidate) the ideas we build.
In the app, I strived to make all data displays as beautiful and insightful as possible. For example, the "Past Deliveries" tab serves both as a place for the Runner to view previous runs and as a diagnostic tool for us--if any problem arises such as a cancellation or missing driver, the Runner can view at a glance all the most essential information and relay to us any discrepancies they find.
To ensure a smooth transition from design to engineering, I created a clean, clear set of states and flows that displays every iteration of errors and edge cases I could think of and allows an at-a-glance overview of the entire project. See the high-res version here and the InVision prototype here.
Once this was done, we began coding.
Uber Runners (Beta) Demo
Here is a demo of the Uber Runners app in early development when we could easily place test orders and walk through the app flow--currently, the app is being tested in production markets so I can't interfere and capture the updated flow.
Bonus 1: Diwali Poster
A few weeks ago, Uber celebrated Diwali with a special lunch menu and a candle-lighting ceremony at its SF HQ. I was tasked with designing the posters that would be displayed throughout the SF offices, and after a few iterations, this is what I came up with.
Uber's Global Head of HR, Liane Hornsey, also sent an email out to all West Coast offices with my design.
Bonus 2: Yoga Poster
After the Diwali poster was a great success, I was tasked with designing a poster for a Wellness Day yoga event. Once again, this collateral was sent to the SF offices and emailed out to create awareness.
Bonus 3: Mobility Posters
During my internship, Uber began a rollout of corporate phones to every employee in the US. Each major office had an event to promote the perk and get signups, and I was tasked with designing city-specific posters that would be hung throughout each office to advertise the events.
Borrowing from a design system I had developed for Uber's Technology Services team at the beginning of the summer, I came up with these (and more).