Split

  • Industry: Transportation
  • Headquarters: California, USA
  • Solutions: MVP backend development

Split is a California-based digital application marketplace for scooter rides in Los Angeles. The platform connects freelance drivers managed by Split with those who need transportation to or from a certain destination. The company owns the scooters and hires drivers to ride them.

Service distinction: Split can get you to your destination point in the nick of time since only scooters are allowed to take shortcuts and detours in LA.

client’s goals

To make an MVP to prove the hypothesis of the relevance of such services (app for scooter rides).

In building an MVP, the client wanted to use basic logic when the user requested a ride on the platform. That is why we included only the basic functionality of the app in order to check the viability of their hypothesis.

our solutions

User flow

The process of booking a ride operates on an IOS app:

  • From the customer side: You can only request a ride once you’ve registered and logged in.

 

Verification: You also have to verify your phone number and accept “The Rules of The Road”, “Terms of Service” and “Release of Liability. Passengers are only able to request rides within predefined regions.

User location: The starting location is adjusted automatically so that you don’t have to type it in manually. If you want to change your current location, however, this option is also available.

Smart matching mechanism: You indicate the destination point and request a ride. Then the system searches for the nearest driver, calculates ride cost and displays information about the ride. You can always cancel your ride but only until a driver is found. In case there are no drivers available in the queue, you will be notified with a “No Drivers Available” message.

Advanced billing system: To request a ride, you must first enter your credit card info. Once you enter your card credentials, they are saved in the app for future rides.

Visualization on the map: You can also monitor the driver’s movement to the pick-up point. If you want to cancel your ride after it has been accepted, you will have to pay a cancellation fee. You will be notified when your ride arrives. You will be charged only after arriving at your destination. You can always leave feedback for your driver.

 

  • driver side: To register as a driver, you must fill in your phone number and click the “Apply to drive” button.

 

Equipment: You will give rides to passengers using approved scooters. You will also be equipped with a built-in navigator. Once you are registered, you are ready to give rides.

Driver’s location: First of all, you will need to press the “Go online” button. Then the system will set your coordinates automatically or you can set them manually. The driver’s coordinates are updated every few seconds.

Accepting a ride: When a passenger requests you for a ride, you are notified and will have 10 seconds to accept or decline the ride. If you ignore the request, it is automatically forwarded to the nextclosest driver. By accepting a ride, you immediately receive the necessary information to complete it.

Hitting the button: You will be given a list of different ride statuses that you will need to report, e.g. accepted, pickup, departed, drop off, cancelled, completed.

Not available: You will be considered eligible for a ride only if you are within 4.5 miles from the pickup point. You can become “Not Available” by clicking the “Go Offline” button. You can’t go offline if you have accepted a ride.

Top challenges

1. finding the nearest driver within a certain radius

Our solution: In order to save passengers’ money, we have combined Redis geospatial with Google Matrix API.

2. WebSockets

Our solution: we had to go into the sources and see how everything worked. After conducting our research, we made a small hack, the gist of which was turning to Redis and checking whether the connection of web-docks really opened or not.

Implemented Features

To provide the best experiences for both parties, we integrated only the useful features for the marketplace application that the client wanted.

While building an MVP we implemented:

  • an admin panel
  • payment processing system
  • solutions for ride requests and ride processing
  • push notifications
  • the option to leave feedback.

project stages

1. Stage

basic marketplace architecture of the app

UX

database

project intro

environment setup

deployment settings

basic configuration events setup

2. Stage

Phone Verification with Twilio

Facebook Sign up/Sign in

Accept “Rules of the Road”

Accept Terms of Service

Verification (for drivers only)

3. Stage

Session Request ride with Special Messaging feature and Cancellation button

Calculation of costs, Marketplace Payments

Account Setup

Managing profiles

Ride Requests

Accepting / Declining

Permanent session Ready to ride

4. Stage

Push notifications

Events (Reaching passenger location, Pickup & Dropoff, Cancel, Finish)

Admin Panel

History of rides

Rating

Payment Charges

TECHNOLOGIES

Server-side
Grape
PostgreSQL
Rails
Tools (hosting, monitoring etc.)
AWS
Swagger
Integrations
geocoder
Geofencing
google maps
Segment
Stripe

Timeline

20182019

Team

2 Back-end developers | 2 Mobile developers
Project Results

By creating an MVP we helped the client validate his hypothesis and see the results of the app. We only included the basic features to see the viability of such a service and to test the app for its performance capabilities.

Contact the team, start like a rocket!