Native iOS and Android Application Development for a Ride-sharing Platform

Client background

Facedrive is a Canadian ridesharing platform offering electric, hybrid and gas-powered vehicles to its users. It comprises a website, and native iOS and Android apps for drivers and riders.

Business challenge

The client needed to develop a ride-sharing solution from scratch including back end, front end, and mobile development. Also, the development team had to implement GPS positioning and route navigation, integration with the payment platform, the complex ride-sharing logic, and create intuitive UX design.


In cooperation with N-iX, Facedrive built a scalable software product with wide functionality. It enables riders to choose among the vehicles with a different level of CO2 emission and thus minimizes the negative impact on the environment while commuting.

Value delivered by N-iX

  • Scalable software product powered by diverse tech stack;
  • User-friendly Android and iOS mobile apps for two types of users – the drivers and the riders, smooth integration of four independent applications;
  • Payment solution integration while ensuring the highest level of security and compliance.

Canada, Toronto
Partnership period
April 2016 - present
Team size
Team location
Ukraine, Lviv
Java iOS Android Swift, PostgreSQL, Android SDK, Android Studio IDE, Xcode, HTML5/CSS3, SpringBoot, PostgreSQL with PostGis extension, Hazelcast, Angular 2.0, Realm, Firebase, Google Services, Intercom client support

Success story in detail

Client’s goals:
  • Develop the software that would power the Facedrive platform and ensure its flawless performance;
  • Integrate the product with a fintech solution to enable payments;
  • Build a website for drivers sign up and registration and also for attracting potential clients of the service;
  • Create Android and iOS apps for the drivers where they could see the ride requests, accept or decline them, view journey history, navigate through the journey and check their CO2 emissions;
  • Create Android and iOS app for the riders which they could use to check the location of various types of cars and the time they need to wait for them, request a ride, navigate the route, check and set the rating of the driver, give comments, add different payment cards details etc.;
  • Improve the user experience of the apps.
  • Updating the drivers location information. To provide the users with quality service, it was important to build the functionality that would allow them to see the location of the available drivers nearby.
  • Time and distance estimation. Building an independent but reliable solution for the estimation of the time and distance of each ride was another challenge the development team took on.
  • Synchronization of the servers. Facedrive rideshahring service operates online in real time, and every minute matters in the client’s business. Thus it was important to set up effective communication between multiple servers to quickly synchronize the input from different riders and drivers.
  • Integration with Stripe API to ensure payments security. Security of the users’ mobile payment information is always a top priority when building an app that involves money transactions. Therefore, the team got the task to think through the payment mechanics and integrate the product with a fintech solution that would power it.
  • Developing the ridesharing logic. One of the features that distinguish Facedrive from its major competitors is the possibility to share a ride with others and pay for it individually.
  • Calculation of electric, hybrid and gas vehicle rates. As the product gives the possibility to choose between 3 types of vehicles, it was important to develop an algorithm for calculating the rate of each car.
  • Smooth operation of multiple apps. The service is available on both iOS and Android, so we had the task to ensure seamless functioning of the platform when switching between different platforms and devices.
  • N-iX development team employed the PostGis extension to enable any Facedrive rider to see all the available cars nearby. The solution uses GPS to send the coordinates of the driver to the server and the server accesses the database (PostGis extension) to measure the distance and locate the drivers in a certain radius.
  • The app users can see the location of different vehicles and the estimates of how long they have to wait for a certain car. N-iX engineers implemented this solution by combining Google Maps products and an independent server.
  • Imagine a situation when a user requests a ride and 5 drivers press ‘Accept’ simultaneously. Obviously, only one of them can be verified and receive this request. The synchronization between multiple equal servers was a time consuming and challenging task. Yet the engineers were able to develop the solution that ensures consistent work of the product.
  • When a user requests a ride, the needed sum of money is reserved on their card. If there is not enough money on the account, the trip is cancelled. Also, if the rate changes during the trip because of traffic or unexpected stops, the previous reservation is cancelled and a different sum is reserved. To enable this functionality and ensure the security of all the money transactions, the developers integrated the product with Stripe API.
  • When the ride fare is shared among many people, the logic behind payments gets even more complicated. Thanks to the integration with chosen fintech platform, the team successfully implemented this solution as well.
  • When we started developing an algorithm for the calculation of fares depending on the type of a vehicle, naturally, electric cars were the most affordable kind of cars. However, there are not so many electric cars available yet, so they may be further from the rider that other cars and, as a result, more expensive. Also, the drivers providing the service cannot see the destination of the requested ride to avoid speculations. Yet if the ride distance is over 30 km, the app notifies the drivers of the electric cars to make sure their battery is fully charged.
  • The team developed 4 native apps – Android Driver, Android Client; iOS Driver, iOS Client. Despite being powered by different operating systems, the Driver Apps are identical and perform the same functions. The same is true about Rider Apps. N-iX programmers also ensured error-free operation of the applications even when you change the device or access your account from a different OS. Additionally, N-iX UX department conducted the research and improved the general look and the user experience of the applications.
Value Delivered by N-iX:
  • Scalable software product powering the ride-sharing platform;
  • Development of the user friendly website for drivers’ sign up and registration;
  • iOS and Android mobile apps for the drivers and for the riders;
  • Visually attractive applications with seamless user experience;
  • Secure and easy mobile payments powered by Stripe API;
  • Access to the location information about the electric, hybrid and gas vehicles nearby;
  • Accurate time and distance estimates between the pickup and the drop up locations;
  • The possibility to share rides and divide the fare among multiple users;
  • Transparent system of rates calculation depending on the type of a car and its proximity to the rider;
  • The ability to check and reduce personal CO2 emissions from each ride;
  • Smooth integration of 4 independent applications, the ability to easily access the account from different devices and operating systems.


The client addressed N-iX with the need to develop a ridesharing platform comprising multiple software products in spring 2016. After careful project planning and allocating the needed engineering resources, the team started working on the back end that would power the service and also the Facedrive website. Further, N-iX engineers developed Android and iOS mobile apps for 2 types of users – the drivers and the riders. They also engaged N-iX UX department to enhance the customer experience and make the apps more user-friendly.
The team took into account all the client’s business objectives when working on the algorithms of different parts of the product functionality. Thus the developers were able to come up with the solutions that allow to check the location of the drivers nearby and the time estimates of the ride, choose between various types of vehicles and view their fares, navigate through the journey and pay for it via their mobile phones. In addition, the platform is powered by the diverse technological stack.


Connect with our experts
Get in touch