Staff augmentation services for a last mile delivery platform
About the project:
VanOnGo offers transportation and delivery of any goods (including pets and plants) as well as moving services for companies and individuals. The idea for this platform emerged when our client, who was living in Germany, could not find a cargo taxi.
VanOnGo has grown to offer services not only for individuals but for hypermarkets. It’s more cost-effective for hypermarkets to use third-party transportation than to maintain their own vehicle fleets and personnel.
We helped VanOnGo establish an entirely new system for taking orders, processing them, and calculating routes. We wrote a back end that supports order processing and building transportation routes. It’s also the basis of the VanOnGo mobile applications.
Services provided: Backend development, project management
Initially, the project was deployed on the Finnish product M-Tribes that supports taking orders and building delivery routes, and it allowed drivers to follow routes and update order statuses. However, this ready-made solution turned out to be inconvenient due to a troublesome interface and lack of functionality. Thus, our client decided to develop a customized system.
For this new system, the client handled the project management, product design, and product architecture, while the Steelkiwi team handled backend development and developed the database structure.
Our client wanted to fully utilize Amazon Serverless technology with Firebase authorization. Amazon Serverless allows you to focus less on infrastructure since Amazon takes care of many infrastructure and configuration settings. This helps to reduce costs, as you only pay for what you use. It also makes it convenient to build an easily scalable system, which is exactly what our client needed to execute their plan to create a global delivery system.
We participated in developing a strategy for working with Serverless, as it turned out that Amazon’s documentation doesn’t fully disclose all aspects of how it works. We figured out how to set everything up and worked out a concept that allows us to use our Steelkiwi approach that involves three environments: a development environment for building the platform, a staging environment for preliminary testing, and a production environment for the released version of the product.
We usually work with the Django framework, but Serverless requires lightweight environments where Django is not suitable. So we wrote our own framework that’s similar to Django and made it possible to write basic lambda functions (running on AWS Lambda) in a uniform format.
To process orders and generate invoices, our client initially used MTribes with additional client scripts. We implemented an API for B2B communication to completely eliminate the use of MTribes and scripts. Now, all order processing and invoicing is carried out automatically.
Our team, together with client’s DevOps engineers, figured out how to implement the launch of the Solver script to plan routes. As a result, this script takes orders in the system, automatically processes them, and determines which orders should be picked up from where, in which vehicles they should be put, where they should be taken, and when.
- Twilio for sending SMS messages
- Stripe for payments
- lokalise for translation management
Most important features