Logistics
Development
Web app
B2B
Streamlining home delivery
Stability and minimized manual intervention for easy-to-access home delivery platform for any business.
Python
Django
PostgreSQL
Git
Ansible
Docker
The customer - an easy-to-use home delivery solution
Our partner Annanow is a Switzerland-based startup that offers various services related to home delivery for retailers. The aim is to enable businesses with both physical and online shops to provide home delivery to their customers without having to go through all the trouble of organizing and implementing solutions for all related services, such as managing courier companies, adding payment services to their website, or tracking the state of each order.
The beginning - a highly customized implementation for a large customer
The cooperation between Annanow and GG Development started when Annanow contracted a large customer, an international grocery service offering home deliveries via a webshop, that required a highly customized solution. The need arose for an additional layer between the customer and the existing Annanow platform, which would be responsible for driving the steps in the required order. This new layer would offer up-to-date and reliable status information on the orders and take care of error handling, acting as a single source of truth all throughout the process.
GG Development was given the task of implementing this so-called Orchestration Layer (OL). As the solution increased the reliability and transparency of the system, the OL gradually took over more and more functions from the original Annanow platform. Communication with payment and delivery providers, and a mobile application for picking up goods in stores were now integrated into the OL.
The next challenge - the new Annanow platform
Because of the fruitful collaboration during the development of these components, when Annanow decided to launch a new, enhanced, and extended version of their existing platform, GG Development was charged with the implementation.
Besides providing all the functionality of the first version in a backward compatible manner, the updated version would need to meet additional requirements. The application would have to be developed keeping flexibility and extensibility in mind, to allow for the addition of new components as well as customized solutions for more specialized use cases.
The new platform was to consist of the following key components:
A highly interactive UI where retailer employees can order the delivery of goods on behalf of their customers. On the one hand, this interface would collect all the information necessary for organizing the delivery (such as contact and product information). On the other, it was to provide constant information on the delivery details (such as the expected cost) based on the available information at each step of order creation.
An API counterpart of the UI for customers that already have an existing webshop, which they would like to integrate with the Annanow backend. (For this component, backward compatibility with the first version was especially relevant.)
A delivery management system, assigning the orders to courier companies based on their availability, service areas and pricing.
A retailer portal and a delivery partner portal, providing an overview of existing orders with information on the status and other details, as well as configuration options (e.g. service hours, user management and price settings).
The journey - challenges and achievements
All throughout the process, we kept a strong emphasis on short feedback loops and constant alignment with the customer. Our aim was to implement features and components in the order of their priority and according to the actual business requirements. We also handled the scope of the work in a flexible way. When unforeseen obstacles arose (e.g., a third-party component proved to be too unreliable), the tasks were reprioritized to best accommodate the new situation.
As there was considerable uncertainty about the exact launch date of the new platform and therefore a lot of time pressure, it was vital to focus first on the delivery of a minimum viable product (MVP).
We first worked on key components to avoid a potential disruption of service, that is, the parts ensuring that orders could be placed. We started with the Order Form UI and the API, first simplifying the workflow wherever possible and gradually working towards a more elaborate strategy for retailers and delivery providers. With the API, we implemented the endpoints in the order of their importance. Those that were rarely used, had possible workarounds by human intervention, or served for edge cases were left last. Regarding the API, backwards compatibility was ensured for a smooth transition of customers who were already using the service.
For data migration, we relied on import scripts at first, with manual intervention where necessary. We left configuration options via the UI for later, as those were not essential for the platform to be operational.
The next vital step was delivery management. Here we also started off with a simpler approach. As we progressed, a more complex logic was introduced (like taking into consideration vehicle selection based on the specified product information). During the development process, a third-party provider turned out to be unreliable, therefore its functionality was also added to the scope of the delivery provider portal. The retailer and delivery partner portals were developed in parallel. Once these parts were operational, functions of convenience were added to the UIs, such as reporting and configuration options.
We supported sales efforts by providing a demo environment, where Annanow could present to potential customers the features that were not in use on the standard platform yet but could be made available once requested.
The present and future
The new platform was launched in March 2023. The core services and functionalities operate in a stable manner, with minimal need for manual intervention. Now team efforts are focused on widening the scope of the services to make way for possible business expansion. One such direction is the inclusion of parcel deliveries besides courier companies. Another one is providing automated integration via APIs for larger delivery providers to avoid manual work with the management of deliveries.