How to Build an App like Uber: Development Guide to a Million Dollar Project

How to Build an App like Uber: Development Guide to a Million Dollar Project

Umbrella IT

Uber was the first company which successfully implemented both sharing economy and on-demand business model and boarded the entire world. The destabilization of the traditional taxi industry doesn’t prevent it from considering itself as a tech company, rather than a taxi firm. It makes sense: exemplary service and effective technical solutions are quite the things that led Uber to such stunning success.

Since the company’s foundation in 2009, it attracted a large number of followers in various business areas from courier delivery to the hotel industry. However in 2018 Uber still remains the most famous ride-sharing service and one of the most valuable startups in the world.  

Take a look at the statistics:

Isn’t it impressive? We tell you what technology stack is under the Uber’s hood, how much the development costs and how to assemble a strong team aware of how to  build an app like Uber.

Must-have Features of Uber-like App

Before starting with creating an app like Uber, it won’t do any harm to recall how Uber service works.

Such plan of action defines the functional core of the apps and technologies used.

A basic Uber-like app should be able to request and accept a ride, send notifications, identifies the location and conduct payments in real time. We will take a closer look at these exact features in short order.

The first thing that needs to be taken into consideration when launching your project is that developing an app like Uber is much more than an ordinary app. Service with such concept requires 4 components:

  • mobile app for passengers;
  • mobile app for drivers;
  • admin panel to control and manage operating processes on the administrator or owner side;
  • server to keep the rides history, tariffs, user and driver bases, etc.

It shouldn’t be left unmentioned that Uber has its own web portal as well. Yet its main function is informative, whereas the 4 elements above are essential for service being operational.

Now let us consider the core functionality and technologies of Uber.

Geolocation

Geolocation is the principal technology for Uber. The toolset needed to obtain location-based data depends on the app’s platform - Uber is available in App Store and Google Play.

  • iOS: in iOS mobile apps the device’s location and its orientation are detected with help of Core Location framework. Core Location also tracks the device movement and sends location events to the server at intervals decided upon by the developers.

Another framework – MapKit – is used to calculate the most optimal routes taking into account the current local traffic conditions and make the directions available to the device’s mapping software.

  • Android: the similar functions are available thanks to Google’s Location APIs which provide intelligible solutions for tracking user’s location, movement, and environment up to the destination point.

Routes and the shortest distance possible are calculated using Google Maps Android API.

Routes and the shortest distance possible are calculated using Google Maps Android API.

On top of that, on both platforms, Uber is integrated with Google Maps. Now all the users can choose the fare, locate a car on the map or contact a driver without opening the official Uber app.

Notifications

There are 3 standard cases when Uber sends notifications:

  • the driver accepts a request for a ride;
  • the driver is less than a minute away;
  • the request is canceled.

Notifications can be sent via push or SMS messages or emails. The decision on the manner of notification is made by the user himself.

1) Push notifications

2) SMS messages

SMS messages with status change information are powered up with Twilio AP platform both for iOS, and Android apps.

Important: Push and SMS notifications have their own technical nuances. If the device is switched off or outside the service area, there is a big risk that user will receive a Push-message with a delay or won’t receive it at all. Moreover, unlike Google’s Cloud Messaging service, APNs makes it impossible to check whether the notification was received by the user or not. In this respect, SMS messages are more stable. In case of any problems with message delivery, your SMS provider will inform you immediately.

3) E-mail

As was said, Uber can send emails. Most of these letters are receipts, support replies and other service notices which user can’t unsubscribe from. The emails are powered up with SendGrid API.

Integration with the Payment System

Although cash payment is available now in some cities, Uber still focuses on the non-cash transactions. And as the company continues to grow globally the issues concerning the payment security, geographic footprint, and different currencies support become more sensitive.

For these reasons Uber partners with payment giant PayPal and its division Braintree that made it possible to pay for the ride via PayPal account or a card directly from the mobile app on any platform. The payments security is expressly linked to the technical solutions of the chosen systems, which have already gained the reputation of the reliable providers whose services meet the latest PCI DSS information security standards.  

Additionally, another PayPal’s service is used by Uber - Card.io that uses a camera of a device to scan the payment card and read the numbers.

For more info about payment gateways go to our article Payment Gateway for Mobile Apps: 8 Points to Check.

How Much Does Uber Like App Development Cost?

Team

The project aimed to make an app like Uber requires a team of at least 5 experts.  

The number of developers may vary depending on your priority and other factors: application’s extended functionality, deadlines, potential risks, etc.

Time

According to our solution architects, the implementation of the Uber-like project takes 6690 to 7160 man-hours on average.


Cost

As for the project cost, the core components here is the rate, the working hours, and a number of specialists involved. For more details on Umbrella IT pricing go to our Services&Prices page.

Umbrella IT experience

We know how to write an app like Uber and more than once in our practice we got a request to do it. When we were taking part in the development of taxi service Cabdo which was made following the Uber app model, the decision was made to create a single hybrid app on React Native except for the two native ones. Such an approach allowed us to speed up the development process and reduce the number of developers involved in the project. As for the cost, our client paid per hour.

For more details refer to description of Cabdo project or relevant projects on our site.

In this article, we have provided insight into how Uber technologically works and share our experience in how to develop an Uber like app. As practice shows, the success of Uber-like projects is explained not so much by its core technical solutions, as by the very idea behind it. Building an app like Uber - suggest a new solution to an old problem and Umbrella IT will help you to translate it into reality.