Let’s talk about refactoring versus rewriting code. In general, our bias is to preserving the maintainability of a legacy project, but when that...
How much would it cost to build a simple ride-sharing app?
Let’s take a look at what it would take to build a simplified ride-sharing app, both with traditional custom coding and with a low-code/no-code solution.
Investigating Low Code/No Code with Uber as a Case Study
Whenever we begin project roadmapping with a client the goal is to be able to get a clear understanding of the features so we can scope out the number of hours it will take to build something and therefore quote a price. At the end of the day, clients want to know what can be built in what amount of time and how much it will cost. With Bixly now offering low code/no code implementation, we are excited to share with you how this can slash your timeline and budget. This comes with a caveat that not all features will work within the various low-code, no-code frameworks. Not to worry! Bixly still has a phenomenal roster of expert developers to help with your custom application development!
With that goal in mind, let’s take a look at what it would take to build a simplified ride-sharing app, both with traditional custom coding and with a low-code/no-code solution. Now, this is not intended to be a feature for feature dupe for Uber. I can guarantee you Uber has spent much more time and money developing their product, in research and development, and in infrastructure than what we are proposing here. Instead, this is just one example of a simplified version of the app that would allow someone to enter the ride-sharing market with an MVP-style build. It further serves as an example of how competitive low-code, no-code development has become. Let’s dive in!
Design Credit @Darkcode on Figma
The Business Model
The ride-sharing business model relies on per-ride or per-transaction fees for facilitating the service between drivers and riders. This means that volume is key to the success of the business model for the app. Having a robust marketing plan in place well before app launch would be essential for anyone breaking into the space. In addition, targeting a niche within the ride-sharing market would also be key, as the big players of Uber and Lyft have for now established dominance in the market that was once owned exclusively by taxi services and public transportation.
The User Side App
Service applications like Uber (or Doordash or Instacart) have key considerations: primarily that you functionally have to build two apps! One for the user and one for the driver (or delivery person or shopper). This means we need to be even more selective when building version one. The budget and timeline become even more essential to the project’s success. So let’s explore the features we’ve selected for a ride-sharing app on the user side.
1. Sign up and Log in
Users must be able to create an account. Because there is additional friction onboarding users to mobile apps (they have to be willing to find it, download it, and then create an account), it is paramount that this be as streamlined as possible. In addition to the usual email and password fields, we recommend having one to two additional authentication providers, like Google or Facebook.
2. Secure Payment
Because this app transacts funds, both to the parent company and to the drivers, it is equally essential that this be streamlined and secure. It should be easy for users to save payment information within the app and the app should be trustworthy with that information. Luckily there are several third-party providers like Stripe and Paypal which can be implemented to fulfill customer needs with a trusted tool.
3. Core Functionality
Now let’s run through core features that we are all familiar with as being essential to a ride-sharing up. The user will need to be able to input a destination address, indicate the number of passengers or car size required, and will want to see a summary of the driver’s information. The app should also have a simplified visual map that shows progress to the destination. At the end of the ride, the user should be able to rate and tip a driver. In case anything goes wrong during the trip, the user should be able to report a driver.
4. Settings and Edit Profile
A frequently overlooked portion of any app is the settings page. There needs to be a place where the user can adjust settings, edit their profile, manage their payment, et cetera. While this may not be the most exciting feature, it needs to be accounted for, especially when thinking about building a lean app. You want to include this in your scope of work from the beginning so it doesn’t become an afterthought that exceeds budget or timeline constraints.
Design Credit @Darkcode on Figma
The Driver Side App
In order to have a full functioning service, we also need to build the diver-side app with complementary, but different functionality. Let’s run through the key features for a simplified version for the drivers.
1. Sign up and Log In
Since we have already created the architecture for this feature on the user side, it will be easy to implement on the driver side as well. OAuth will be useful as a way to streamline the onboarding process for most drivers.
2. Driver Profile
Unlike the passenger, the driver will need to create a profile. They will need to be able to upload a photo so they can be recognized by their passenger. They will need to be able to input details about their car, such as the size, make, model, and color. The app will need to be able to store driver ratings and reviews for each driver.
3. Core Functionality
Now let’s walk through the core features the driver needs to be able to participate in ride-sharing. First, they need to be able to see the nearby jobs. We suggest being able to toggle between a list view and a map view with markers of the potential passengers. Next they need to be able to select a job to fulfill and from there see the location of the passenger, number of guests, and destination location. The driver will need an interactive map for pick up and drop off. They need to be able to mark a job as completed. The driver should be able to see the tips and ratings they received from their passengers. The driver should also have the ability to report a passenger in case there is a problem with the ride.
4. Payment Processing
Drivers should be able to link PayPal accounts in order to receive payments for the jobs transacted by the app.
5. Settings and Edit Profile
The driver should be able to access their profile, update their linked PayPal account, update details about their car, et cetera. The driver should also be able to resolve or dispute complaints if they receive any reports from a passenger.
These are the key features that a simplified ride-sharing app should include. Now let's get to the nuts and bolts.
In order to build this app for one platform (native for either iOS or Android), or to build it once on a cross-platform technology like ReactNative or Ionic, Bixly estimates this project to take approximately 1500 hours, or about 38 weeks, with one full-time developer. If you want to build this natively for both platforms, it would be approximately double that amount of time. This would include quality assurance and testing.
Low Code/ No Code Programming
In order to build this app to be cross-platform on a low code/no code solution, Bixly estimates it would take 700 hours, or about 18 weeks, with one full-time developer. As you can see, a low code/no code implementation can save you about 50% of your time, which correlates to approximately a 50% savings on your budget!
This, of course, comes with some limitations. With custom software development, pretty much anything you imagine, you can build… for the right price, time, and expertise. When translating some features to a low code/no code implementation, we can consult with you to determine what is easy to create, what will take some creativity, and what should be made custom.