Taxi aggregator web application
We brought several taxi services together and automated order distribution
About the project
The client works with several taxi fleets and services at once. Orders came from different sources and were processed either manually or in separate systems. This caused delays, confusion and imbalances in carrier workload. There was no single place to manage all orders.
Tech stack
Task
Build a system that combines different services in one interface: the user books a ride without choosing a specific carrier. Orders are distributed automatically based on driver availability, distance and working conditions.
Constraints
All connected services have different APIs and business logic. The system had to process orders quickly during peak hours and consider several parameters when choosing a driver. Failures were unacceptable — the system directly affects whether rides happen.
Solution
We built a web application with a single interface. Inside, the system aggregates data from different taxi fleets and converts it into a single format. The key element is the dispatch module, which automatically assigns an order based on availability, distance, fares and priorities. We also implemented order monitoring and an admin area for configuring rules and managing carriers.
Challenges and how we solved them
To work with external services we built a separate integration layer that normalizes data and hides the differences between APIs. The dispatch logic is a configurable algorithm with priorities and load balancing. We added error handling and fallback scenarios, so orders are not lost even when individual carriers fail.
Further development
After launch the client is developing the system toward dynamic pricing and carrier performance analytics.
Result
We sped up order processing and reduced the load on operators — most of the work happens automatically. Orders are distributed more evenly, and users got a simple and clear booking process.
