Case Study

Convenient shuttle
bus service

Mad Devs helped GoDee with developing feature-rich software to re-invent
public mobility by building new smart ways of a daily commute.

GoDee is a reliable way to commute in Ho Chi Minh City, Vietnam. Its shuttle buses take express routes that link the city’s major districts and popular destinations. GoDee helps riders save time, money and the planet due to its lower ecological impact.

The app-based system allows users to find a route, select the time, book a seat and pay for the ride online.

Issues and solution

Transportation has become a major issue in Vietnam cities due to the rapid increase (36%) in urbanization. With its slow, unairconditioned, overcrowded public transport, commuters living in the suburbs were left with only 3 other alternatives: personal cars, motorbikes and taxis.

Motorbike

They are fast and affordable, but they are not always convenient for white-collar workers wearing suits to the office, especially on rainy days.

Taxi

Taxis are safer and more comfortable, but less accessible because they cost much more.

$300/ month

The basic fee

$0.51

The kilometer price

$0.56

Average kilometers

~ 10

Solution: GoDee

GoDee’s founders decided to make buses smarter and more user-friendly. They tackled the problem by converting traditional buses into a modern service provider offering a convenient and predictable ride that’s just one click away.

An innovative transportation solution that improves commuters’ daily lives, reduces environmental pollution and provides affordable commutes and stress-free service.

$65/ month

One trip

$1.29

Trips a day

2

Days a month

~ 25

Mad Devs & GoDee collaboration

Mad Devs consulted with GoDee in the project’s early stages to assist with the technology stack choice and step-by-step planning. Then, several of our positively mad developers worked on GoDee’s smart urban bus management system as an extended part of the team.

Minimum viable product MVP

Before investing a considerable amount of money in building software, hiring personnel and acquiring minibuses, GoDee wanted to develop an MVP to understand the market fit potential.

Although services such as GoDee exist in other parts of the world, simulating these programs in Ho Chi Minh City was pointless because the city’s commuting culture is quite different. That’s why user feedback was crucial to its improvement and key to its current rapid growth.

Live chat feature

Over the time period of three months, our integrated live chat feature collected extensive feedback from users to make white-collar workers’ commutes easier.

Trip request

This feature enabled GoDee to analyse the actual demand for travel to various Ho Chi Minh City districts.

GoDee 2018 and GoDee now.

GoDee 2018 VS. GoDee 2021

Development goals

GPS

We use GPS data to track buses, and we have developed an algorithm that predicts bus travel/arrival time using a geocoding service that also calculates delays related to traffic jams and their severity. This predictor functionality calculates the estimated arrival time on specific routes. It allows our passengers to check whether their requested bus will arrive on time, considering traffic jams.

Payment method

Cashless payments are becoming more popular in Vietnam, so we have integrated Stripe service into GoDee, enabling passengers to pay with credit cards easily and quickly.

We have also developed an API for flawless third-party service integration. Visa/Mastercard, AmEx, MoMo and JCB are integrated into the GoDee user app to facilitate cashless payments.

Online time-tables & live location tracking

To help make the GoDee app easier to use, we created a system that tracks bus locations in real time. This means that every user can book a seat as their bus approaches their location.

Referrals

To add to the commuter experience, inside the shuttle bus application, users can share referrals and get free rides as bonuses. After receiving a referral code from a referrer, the user can input the code from the booking confirmation as a promo code and enjoy one free ride. Meanwhile, referrers also receive a reward with "an “X" number of free rides.

The best possible routes

Depending on passengers’ requests, the system allows drivers to construct the best possible routes automatically. If there are no orders from passengers, drivers will skip stops along the route.

Mobile application for passengers

Ticket booking process is intuitive — the passenger needs to select the pick up and drop off points, choose the departure time in the schedule, and book the ticket. The most suitable route will be found automatically.

GoDee: bus transit app for passengers

Mobile applications for drivers

The drivers’ transit app enables them to pick up passengers from bus stops, according to their previously booked tickets.

GoDee: transportation app for drivers

Intelligent management panel

Used to create routes, get reports and map current active routes.

GoDee: bus app management system GoDee: bus app management control panel

Intelligent management panel

GoDee's rapid growth since its early stages required easy-to-scale business processes and automated route management. Although, in theory, everything can be done with an army of sales representatives and route operators, GoDee wanted to automate routine operations so it could expand to other cities and countries.

One manager and one customer support representative can manage more than ~2500 trip requests per month and ~25,000 passengers per month.

Smart route planning

How can we create profitable yet convenient user routes?

Let users send trip requests and tell you what works for them. This feature was available initially through the MVP phase, and it enables GoDee route managers to build effective routes by understanding real commuter demand.

Inside the transportation application, users can submit a trip request with pick-up and drop-off locations at the desired time. The request is added to the list on the managers' dashboard.

Safari Browser Top Bar White Bus transit app admin panel

Prim's algorithm

Prim's algorithm is used to effectively connect the dots on a map. This is how a trip request list is transformed into a map, where new potential routes are displayed for easier overview. The algorithm connects the dots and the map’s possible routes. Our aim is to connect as many dots as possible while keeping the longevity under 20 km.

Safari Browser Top Bar White

Trips Monitor

The Trips Monitor feature enables operators to track every bus in real time and collect data on late or early arrivals. More importantly, the operator can contact drivers or passengers quickly if necessary.

Safari Browser Top Bar White

The Trips Monitor dashboard displays the following information:

  1. Drivers' locations on mini map in real-time
  2. Late and early departures of buses
  3. Complete bus schedule weeks in advance
  4. Notice to driver that a GoDee client has not been picked up at a bus stop
  5. Number of passengers assigned to each stop and driver
  6. Historical information through filters

Route optimization

Safari Browser Top Bar White

With the help of detailed drivers' performance data, Mad Devs’ Pifia microservice enables route managers to optimize ETA (estimated time of arrival). Pifia shows more accurate arrival and departure times with just one click.

Examples of early and late departure times: If Pifia determines that a minibus is usually late due to increased traffic at 5:35 pm and not 5:30 pm, it alerts the route manager to shift the arrival time to 5:35 pm. Five minutes might sound minor, but these small optimizations add up.

Real-time ETA

In addition, Pifia shows in real time the approximate late/early departures.

Thus passengers who are waiting for the ride always know whether the bus is coming late and how long it will take.

The information is displayed on their mobile application.

Transit app in Vietnam

Infrastructure scheme

GoDee Infrastructure Scheme

The infrastructure is hosted on the Digital Ocean developer cloud.

Our applications send requests to the Nginx server, and then they are processed via the gRPC framework and each application is addressed to separate APIs. These APIs refer to Redis quick-caching Streams and the Georeferencing service, which allows bus drivers to be on track along their routes.

Then all information, collected and processed by these services, is controlled via the Web Admin panel, which is connected to the PostgreSQL database, OSRM, Firebase and push notification services. We use Docker containers throughout the development process.

Technology stack

  • Open Street Map

  • Google Maps

  • PostgreSQL

  • Docker

  • Nginx

  • Redis

  • Python (Django)

  • Golang

  • Kotlin

  • Atlassian

  • Swift

  • Firebase

  • TestFlight

  • Datadog

  • Android

  • Suite

  • Jira Software

  • GRPC

  • iOS

  • UptimeRobot

  • Mapbox

  • Vue JS

  • Sentry

  • Here Traffic

  • Basecamp

Monitoring

We believe that every production system requires proper monitoring. For this purpose, we use the Datadog service, which allows us to discover possible issues before they affect our users.

Here is an example of our monitoring configuration for the GoDee project:

Monitoring Configuration for transportation app

Stable & Scalable solution

Transportation and logistics software has zero tolerance to downtime. Imagine hundreds of passengers not being able to book their tickets, drivers not knowing where to pick up/drop off passengers or operators seeing empty screens.

GoDee’s microservice architecture and the quality of the solution make it easy for each Mad Devs developer to deploy new features without causing spikes in downtime. On top of this, 75% of code is covered by various tests and has detailed documentation and pull requests. GoDee's business model greatly benefits from economies of scale. Thus, increased demand from Ho Chi Minh citizens is backed up by GoDee's unchanging low cost for infrastructure.

Impact

GoDee faced the challenge of changing people’s habits. To grow the user base, we needed to create an extremely helpful and hassle-free solution that offers an alternative to expensive taxis and inconvenient motorbikes. It was also key that it be predictable, affordable and ‘green’ by design.

60

Total routes

30

Active routes

25K

Passengers per month

Meet the team

  • Oleg Puzanov

    Oleg Puzanov

    CTO

  • Ruslan Kasymov

    Ruslan Kasymov

    QA Engineer and PM

  • Rustom Kulbatyrov

    Rustom Kulbatyrov

    Senior Android
    Developer

  • Vladimir Pan

    Vladimir Pan

    QA Engineer

  • Belek Abylov

    Belek Abylov

    Senior Backend
    Developer

  • Bakhtiyar Ganyev

    Bakhtiyar Ganyev

    iOS Developer

  • Gennady Karev

    Gennady Karev

    Senior Backend
    Developer

  • Aleksandr Krivov

    Aleksandr Krivov

    Senior UX/UI Specialist

  • Vlada Arevkova

    Vlada Arevkova

    UX/UI Specialist

  • Erik Sultanaliev

    Erik Sultanaliev

    Backend Developer

  • Myrzabek Kylychev

    Myrzabek Kylychev

    Android Developer

  • Pavel Pushkarev

    Pavel Pushkarev

    Senior iOS Developer

We built the platforms from scratch with the Mad Devs team, who dedicatedly supported and guided us to take proper action on several ideas and requirements. We have attracted 27,000 users so far, thanks to their continuous support for improvement and development.
Ruslan Karabukaev

Ruslan Karabukaev

Co-founder of GoDee