Product Analysis: DoorDash App

Evaluating the food delivery ordering experience

Blake Manzo
6 min readApr 14, 2020


The recent push during the quarantine for delivery apps to hand out freebies is a perfect chance to do some product analysis. I’ll walk through the standard delivery experience on DoorDash and write out my thoughts as I go.

I’ll start with some highlights before going through room for improvement.

Highlight #1 — Visual & Brand Consistency

Without the correct product and design direction different parts of the app can feel like completely different experiences. In this app, the entire experience was consistent and uniform, it felt like using “DoorDash” the entire time.

Highlight #2 — Product Tone

Product tone found a nice balance between friendly and formal. The language felt down to earth while “serious” enough.

Highlight #3 — Subtle Location Requests

Surprisingly, a lot of apps still ask for your location access and other permissions as soon as you finish signing up, where users are significantly more likely to decline access. Once this has happened, the bar to recover permissions is extremely high. If you decline access on the native popup, the only way to recover is to go into your settings to turn it back on.

DoorDash use a more subtle approach, with a popup first before the actual native iOS location request. I use the same approach at Tellus as a less jarring way to ask for permissions. This allows you to ask again later if someone taps away at first. It also appears right when it is needed for restaurant discovery instead of immediately on sign up.

Highlight #4 — Skeleton & Subtle Loading

Instead of full screen loaders, many views used skeleton loading, particularly for images and rows of repeated information. And loading spinners were embedding into the list views. This made the experience feel smoother and faster.

Room for Improvement #1 — No-Contact Delivery Awareness

Recently, a lot of delivery apps including DoorDash have implemented no-contact delivery options in response to Covid-19. Temporarily, I would propose replacing the banners to up-sell people on DashPass (left) with a banner informing people of the new option and alleviating any concerns.

Room for Improvement #2 — Skeleton Screen Outlines

In general the skeleton screens are done well, but there are a few places that could be improved. The skeletons for popups like loading a food item don’t look too much like the final result with the cover image and bottom button not appearing at all. This can cause a jarring experience as elements re-arrange on load, particularly on slower internet.

Skeleton Screen Outlines Proposed

Simply replacing the top section where the image will fill in with a skeleton of the photo would be less jarring. Engineering wise, the data for whether a particular item has a photo or not is already available before tapping in. We could also include a skeleton of the button at the bottom as well.

Room for Improvement #3 — Promo Code

After filling in my promo come, a native iOS popup appears and says “Success!”. But after this, I am left on the promo screen. It is likely that a user does not have two promo codes to add, and also possible you can’t even add two promo codes at once. This leaves you having to go back unnecessarily.

Promo Code Proposed

After adding a promo code successfully, take the user back to the shopping cart with a short “Promo Added” overlay. This would make the user have to do less work, and makes the experience smoother.

Room for Improvement #4—Add to Order Button

When hitting add to order for the first time, I had not filled in a required field but didn’t know that. That “Add to Order” button looks tappable, right? After tapping, in lieu of any other error message the app “scrolled” to the required field (middle screen above) but it was so subtle that I didn’t notice. The bright yellow wasn’t enough to stand out, and the font size is so small it’s hard to read the word “required”.

Add to Order Button Proposed

To start with, I would give the button a “disabled” look and feel to help the user know it is not actually tappable. After that, there may be visual treatments on the “required” label to make it more obvious (better color contrast, larger font). We could also explore better error messaging like a tooltip or popup.

Room for Improvement #5 — Post-Checkout Permissions

After checking out, I was bombarded with the app rating popup and the notifications popup at the same time. This was disappointing seeing how well thought out the location access request was earlier, to completely drop the ball on these permissions. Getting a permission request when you are not expecting it leads to higher decline rates, and as I mentioned before it is much harder to come back from that after the first one is declined.

Post-Checkout Permissions Proposed

To improve this, I would remove the app rating popup at this point in the flow. We can’t do two at once, and app rating could be best saved until after the first order (in lieu of your first in-app order rating perhaps). And then we can re-use the more subtle bottom popup from the location permissions before to make this request more likely to be accepted.

Final Thoughts

The app was consistent with a good product tone and a few gems, but there are some oversights that could be improved to have a big impact on the overall experience and key goals like native push notification permissions.



Blake Manzo

Design & Monetization @ PlayStation