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

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

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.  

2

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 for building your own Uber-like project.  

 

How Uber Works

Before we proceed further, it won’t do any harm to recall how Uber service works.

2

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 Uber is much more than just an 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.

5

  • 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.

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.

6

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

Push notifications

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.

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

8

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.

3

 

Uber-like App Development: Team, Time, Cost

The Uber-like project requires a team of at least 5 experts.  

4

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

It’s the same thing for the project cost. The core driver here is the experience, rate, and a number of developers.

When we were taking part in the development of taxi service Cabdo which was built following Uber 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: developer’s rate in our company starts from $35.

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

5

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

 

Contact us


More

  • Umbrella IT Takes Top Spots in Web and App Development
    Umbrella IT Takes Top Spots in Web and App Development
    Skateboarders and bungee-jumpers love the risk of what they do. To them, the thrilling danger is fun and exciting–it keeps them alive. But when it comes to online presence, why take risks? Umbrella IT is the recognized safe option in Russia. We were the first official Symfony partner in Russia. Our pedigree is known to our …
  • 6 Tips to Increase User Engagement with Mobile Apps
    6 Tips to Increase User Engagement with Mobile Apps
    What makes users come back to your app time and again? How to make your mobile app run at full blast and be indispensable to one and all? Do you have a dozen or maybe two dozens of apps installed on your smartphone, but actually use only a few of them? You don’t want your …
  • React Native App Development: Universal Soldier
    React Native App Development: Universal Soldier
    By 2018, any speculations on the mobile application role in business have grown stale. The key point now is choosing the technology and the developers to implement the projects. We have already told about 5 Reasons for Using React Native for Mobile App Development. Today you will learn where it is reasonable to use React …