Automated Taxi Management

Web and mobile apps for a client in the passenger transportation industry

About the company

Our client is a thriving company providing services in the field of passenger transportation. They provide drivers with cars, tax support, and comprehensive analytics to make their work comfortable and efficient.

The company saw growing interest in its services and decided to create software to digitize their own business with the prospect of providing the software as a SaaS solution in the future.

Business challenges

The taxi management company has been on the market for five years and has an increasing user base and clear growth opportunities. At the time we started working with the company, all business operations were done manually. This created a number of challenges:

Complicated accounting
All salary and tax calculations were performed manually, which took much effort and time due to many variables and edge cases.

Time-consuming communication
Administrators had to communicate with each driver on all issues, including individual salary reports and vehicle selections.

Limited capacity
There are limits to how much work a human can do, so the company’s growth necessitated either hiring more staff or digitalizing the business.

Refining the idea

Our client identified all challenges and chose the path of growth through digitalization. They started looking for a vendor who could help with forming the product vision and whose technical expertise they could rely on to finalize the idea.

Our partner success manager guided the client through the whole decision-making process. The partner success manager explained each step and each process of software development with examples and helped to find relevant solutions based on the client’s business needs.

Within several months, our client formed a clear idea of how to optimize operations with the help of a web app for administrators and fleet managers and iOS and Android applications for drivers. This solution could later be scaled into a SaaS product.

Now the company was ready to start development.

What we offered

Design

We started by providing a user interface and user experience design for the mobile apps to ensure drivers could conveniently analyze the results of their work and increase revenue. The designer also optimized the user flows for the web app and enhanced the wireframes to ensure administrators and fleet managers could easily perform difficult accounting operations and fleet management tasks.

Development

A SysGears backend engineer designed the overall system architecture, created the data model, implemented a RESTful API for web and mobile clients, and integrated a number of specialized third-party APIs into the back end. The frontend engineer implemented both the web client and mobile apps for iOS and Android and integrated them with the back end. Both engineers ensured the maintainability and extendability of the system to support future business growth.

Quality Assurance

Our QA engineer started testing activities as soon as the first parts of the project were ready. They applied a test design approach that provides maximum test coverage with a minimal number of test cases, which is particularly important for manual testing. They paid special attention to tax and salary calculation functionality, tested the consistency of web and mobile integration, and checked the usability of both mobile apps to ensure an exceptional user experience.

Project Management

We also took responsibility for the overall development flow, aligning the development with business requirements and estimating the development time. Our project manager employed an Agile methodology, taking responsibility for communication, task grooming, planning each iteration, and holding biweekly demos for the client. On top of usual management tasks, our PM also took part in business analysis to enhance the documentation and ensure the solution was useful and efficient.

Technologies

We selected a technology stack so we could use the same codebase for iOS and Android mobile development and to ensure future growth and the ability to turn the product into a SaaS solution.

Frontend web

JavaScript

React

Ant Design

Frontend mobile

JavaScript

React Native

Backend

Scala

Play

Slick

Akka

PostgreSQL

Deployment

AWS Elastic Beanstalk

Docker

Design

Figma

Project Management

Trello

Slack

GitLab

Google Workspace

Team

Project manager

UI/UX Designer

Frontend Developer

Backend Developer

QA Engineer

We chose an optimal team structure, adding specialists when needed, to fit within the customer’s monthly budget without compromising quality and ensure a smooth development flow without any specialist sitting idle.

Solutions

Design

We started by providing a user interface and user experience design for the mobile apps to ensure drivers could conveniently analyze the results of their work and increase revenue. The designer also optimized the user flows for the web app and enhanced the wireframes to ensure administrators and fleet managers could easily perform difficult accounting operations and fleet management tasks.

Development

A SysGears backend engineer designed the overall system architecture, created the data model, implemented a RESTful API for web and mobile clients, and integrated a number of specialized third-party APIs into the back end. The frontend engineer implemented both the web client and mobile apps for iOS and Android and integrated them with the back end. Both engineers ensured the maintainability and extendability of the system to support future business growth.

Quality Assurance

Our QA engineer started testing activities as soon as the first parts of the project were ready. They applied a test design approach that provides maximum test coverage with a minimal number of test cases, which is particularly important for manual testing. They paid special attention to tax and salary calculation functionality, tested the consistency of web and mobile integration, and checked the usability of both mobile apps to ensure an exceptional user experience.

Project Management

We also took responsibility for the overall development flow, aligning the development with business requirements and estimating the development time. Our project manager employed an Agile methodology, taking responsibility for communication, task grooming, planning each iteration, and holding biweekly demos for the client. On top of usual management tasks, our PM also took part in business analysis to enhance the documentation and ensure the solution was useful and efficient.