Сreating a Customer App for Your On-Demand Delivery Platform

The market for online food delivery, with revenue for 2020 estimated at US$122,739 million by Statista, has become a savior in these rough times. Previously, we discussed the pros and cons of existing business models for food ordering and delivery companies. There are essentially two types of on-demand food services: restaurant-to-consumer delivery and platform-to-consumer delivery.

Research by SensorTower shows that platform-to-consumer food delivery apps are the most successful. The platform-to-consumer Uber Eats tops the list of food delivery applications. 

Research by SensorTower

Among the top 10 food delivery apps in February 2020 by downloads according to SensorTower, only KFC Home Delivery and Domino’s represent restaurant-to-consumer delivery services. In this article, we discuss what you need to build a competitive platform-to-consumer delivery app.

We’ll start by pointing out some particularities of on-demand delivery app development. The biggest challenge usually faced by developers is the need to build for different audiences – customers, drivers, and restaurants – since this type of service involves all three groups working together. Today, we’ll talk purely about developing the customer-facing part of a food delivery product.

The big question that arises at this point is: What will be the most challenging features to implement for the customer-facing web and mobile app?

We studied several of the most popular food delivery apps including Postmates, Uber Eats, GrubHub, Doordash, and Deliveroo. Based on an analysis of these apps, we came up with a list of must-have features that a modern-day food ordering platform can’t survive without. 

Search and menus

Aggregating restaurant data is one of the key features of many food ordering platforms. How can we provide access to all the necessary information about restaurants – addresses, hours, menus, etc. – so customers can place orders? Luckily for entrepreneurs who want to launch a food delivery system, there are a number of proven solutions such as the GrubHub API.

Using third-party APIs 

The GrubHub API can be used to retrieve menu information from a database of more than 10,000 restaurants. Using this API, restaurants can provide menu and pricing information and update it as needed. The GrubHub API can also be used by food ordering applications to transmit order information alongside payment details to partner restaurants. To get access to the API, developers have to write directly to the GrubHub team.

The Zomato API provides information about over 1.5 million restaurants across 10,000 cities all over the world. With the help of this API, users can search for restaurants by name, cuisine, or location and get a list of nearby restaurants with detailed information including rating, location, and cuisine. The Zomato API is free to use for up to 1000 API calls per day. For more requests, developers should contact the Zomato team. 

Postmates relies on Foursquare’s Places API to connect their customers with restaurant listings. In case you’re not familiar with how Postmates works, the application is integrated with local search and discovery service Foursquare, which lets users search for food and view restaurant menus and prices. Postmates then takes an order, sends it to the restaurant, and sends a courier to pick it up.

Search in UberEats

Establishing partnerships with restaurants

Not all restaurants are happy about delivery without their consent, as recent news shows. Local businesses complain of inaccurate prices and confusion with orders, which slows down deliveries. As a result, restaurant owners insist on removing their restaurants from delivery platforms. 

To avoid such discouraging situations, you should establish direct partnerships with restaurants. This is one of the best practices: you’ll be sure the menus in your user app are up-to-date and that restaurants get orders right after they’re confirmed.

Think through benefits that will attract restaurants to partner with your food delivery business. For instance, you can offer restaurant owners a powerful point of sale system. 

Read also: Getting Restaurants to Your Food Delivery Business with a Powerful Web-Based POS System

Don’t forget to include an advanced filtering system so users can search for a particular cuisine, price range, customer places favorite, etc. You can our dribbble shot of web-based dashboard for delivery platform.

Estimated delivery time

It would be lovely if you could give your customers an idea of when their orders will arrive. Big pizza giants such as Pizza Hut, for example, have already started providing this feature, since customers care about their time and put a premium on promptness and accuracy. Food delivery platforms like Postmates also tell users exact delivery times.

Estimated delivery

You might be wondering How is this possible? Well... we can accurately predict delivery times thanks to machine learning. Machine learning algorithms take into account many factors such as order volume, delivery location, and availability of drivers to calculate an order’s precise arrival time.

For those of you who are especially interested in the topic, here’s a nice guide explaining how it works. Also, you can read Postmates’ case study on how they implemented the Estimated Delivery Time feature and check out how machine learning engineers at Uber Eats created a model to predict delivery times. 


These days, it would be hard to find a native app that doesn’t provide in-app payments: Domino’s, Starbucks, and Taco Bell all allow users to order and pay right within the app for smartphones. Your food ordering platform shouldn’t be an exception.

You can integrate Stripe or Braintree to let users pay by credit card or debit card. You can also accept payments via PayPal or Visa Checkout, or you can use Square’s In-App Payments SDK. We recommend you provide as many payment options as possible to provide the most convenient customer experience.

Read also: Stripe, Braintree, or Paypal: Which Payment System to Integrate with Your App

Payments in UberEats

GPS tracking

After Uber set new standards for on-demand delivery services, companies that offer food delivery – including Deliveroo, Postmates, and Doordash – started to adopt Uber-esque delivery tracking technology.

How can you integrate GPS tracking into your own delivery app solution? First of all, you’ll need to determine a user’s location. Depending on the type of devices you build for, you can use CoreLocation framework (iOS) or Google’s Geolocation API (Android) to determine a general geographic region, precisely locate a user’s device, and monitor its movements.

After determining a user’s location, the next step is to provide driving directions, which is extremely useful for both delivery drivers and customers. If you build an app for iOS, you’ll most likely use MapKit for directions. For Android, you’ll need to use the Google Directions API.

The final component is to integrate mapping software into your app for customers. Just as Uber does, you can integrate Google Maps into both the iOS and Android versions of your app.

Google’s and Apple’s geolocation libraries aren’t the only solutions for GPS tracking, however. You can also use TomTom’s NavApp or rely on the Waze Transport SDK, which will be useful if you want to build for both web and mobile. Mapbox is a good alternative to Google Maps for a lower price. 

Read also: Mapbox Maps vs Google Maps: Which One Is Better for Your App

The DoorDash Tracking API allows developers to easily embed order tracking functionality into their software solutions. 

GPS Tracking

Chat with couriers and the help center

What can you do in case a customer isn’t able to pick up the order at the agreed time? Or in case a courier has problems delivering to the chosen location? For these cases, let users chat with couriers directly in the customer application. To make this possible, enable in-chat messaging functionality. You can learn how to do it right in this article.

Also, include in-app chat with your help center. In case of an emergency, users need a response as quickly as possible. They’ll be annoyed if they need to search for contact information on your website or on social media. 

That’s why you should embed customer support chat directly into your application. Also, add a page with frequently asked questions directly in the app so users can find possible solutions without contacting your support team.

Ratings, reviews, and tips

Postmates, DoorDash, Uber Eats, and other food delivery companies that cooperate with freelance delivery drivers need to make sure their contractors don’t let them down when it comes to providing timely service. How do they ensure the timeliness of deliveries and professionalism of couriers? With reviews and ratings.

Rating drivers is nothing new for Uber-like services. This approach allows companies to curate their contractors and retain only the most reliable. Services like Postmates, Uber Eats, and Doordash let users rate delivery drivers.

Ratings in Doordash

Users can also tip drivers if they’re particularly satisfied with the delivery. However, these companies say that tipping is optional. Many well-known payment gateways offer tipping functionality. For instance, you can easily enable tipping with the help of Square and PayPal

Contactless delivery

The current situation in the world dictates new rules for businesses, including in the food delivery sector. Contactless delivery has become a vital feature for every delivery application, protecting couriers, users, and restaurant workers. 

This feature is easy to implement — just enable a contactless delivery checkbox in the customer app and add a field where users can leave comments on where to drop off the order. 

For instance, Deliveroo drivers can now leave an order near a user’s door. Then they step back at least one meter and wait for the customer to come and collect their food. Deliveroo has stopped accepting cash. Domino’s Pizza also accepts only mobile prepayment and pre-tipping to eliminate hand-to-hand contact. 


In 2018, DoorDash introduced DashPass, a subscription service that allows regular customers to save on delivery. For $9.99 a month, DoorDash offers users unlimited free food delivery for orders starting from $15. Once a user has signed up, they can look for a checkmark to discover restaurants available on DashPass.

Postmates has a similar membership service called Postmates Unlimited. For $9.99 a month or $99.99 a year, members receive free delivery on orders from all merchants on the Postmates platform starting at a minimum order size (which varies by location). 

Uber Eats goes further, offering a 5% discount for Eat Pass members. 

UberEats membership

Lock screen widgets

You can also pamper your audience with some cute iOS lock screen widgets, which may be useful if customers need information at a glance. Foodpanda’s lock screen widget provides a list of the hottest deals in the area; Just Eat’s widget makes it possible for users to see the state of their orders. These are just some ideas of what you can stuff your food delivery app widget with. You can always add some more flavor.

Progress never stops, and the food delivery industry is changing rapidly. First, the industry shifted from phone calls to online ordering. Soon, we’ll see drones delivering food instead of drivers. Food industry giants are constantly integrating new technologies to delight their customers, and mobile and web apps with new features are being introduced almost daily. Don’t worry, though – we’ll monitor the latest trends and keep you up to date!

4.4/ 5.0
Article rating
Remember those Facebook reactions? Well, we aren't Facebook but we love reactions too. They can give us valuable insights on how to improve what we're doing. Would you tell us how you feel about this article?
Building a mobile solution to help a local delivery service grow

Designing and developing apps for the Brilliant Move Inc.'s customers and delivery teams, and a backend with an admin panel for its managers.

Contact us

We use cookies to personalize our service and to improve your experience on the website and its subdomains. We also use this information for analytics.