Mad Devs developed the Namba Food delivery service from scratch. The apps for couriers, end-users placing orders and business owners work as a seamless system, ensuring a smooth delivery process for all types of goods.
Namba Food is a unique delivery service that combines speed, convenience and simplicity.
Being first is hard. Namba Food’s success story focuses on how they took a global idea and successfully localised and integrated it into the daily lives of Kyrgyzstan's people. Since 2013, the company has been on a mission to bring value to both vendors and customers by conveniently delivering goods at the right time.
Multi-directional business model
Namba Food achieves complete synergy by diversifying to multi-directional business models.
Mini white label
After business owners submit images and prices, the Namba Food team creates a customised and branded e-commerce website. Updates, support and maintenance are also done by Namba Food.
Full white label
Business partners can use Namba Food’s software and business model, adjusting for their needs, scale and region. Namba Food is responsible for its maintenance and helps with management and marketing.
Personal courier
The personal courier service works 24/7, enabling quick delivery for both organizations and individuals. Regardless of the product’s nature, personal couriers deliver it on time and, if needed, anonymously.
Outsource partners
Businesses running e-commerce websites, but wanting to outsource delivery services, can benefit from Namba Food’s checkout page, which allows businesses to quickly integrate delivery without incurring operational costs.
Delivery of food and goods
Namba Food's delivery service positions itself as an intermediary body between goods and food service providers and customers.
Namba Food API
Namba Food API allows businesses to integrate the API into any mobile payment application. As a result, end-users can quickly order goods and services without leaving the app using the app’s own payment system. Such API benefits businesses because end users use the payment method defined by the mobile app. At the moment, Mbank by Commercial Bank Kyrgyzstan and Balance by Beeline, a telecommunication service provider, have successfully integrated Namba Food API into their mobile apps.
High-level system overview
Namba Food is more than a delivery service website. With a partial vertical integration, it covers the entire cycle of ordering goods online. This means that an advanced set of software and hardware was required to maintain flawless work for all stakeholders, including end-users, couriers, team operators, and cafe and store managers.
Typical usage scenarios and user roles
Namba Food involves several user journeys for different roles. Each user journey required different sets of functionalities and user interfaces.
Offers easy-to-use interface and fast navigation for Namba Food users.
Allows planning a route and quickly getting information about orders.
Includes full control of the ordering process from order acceptance to status tracking.
Facilitates uploading the menu and updating information about services.
Web version and mobile applications for end-users
Namba Food is not a simple catalogue of goods and services, as it aims to seamlessly blend into the modern, busy lifestyle of its customers. Developing a convenient process for ordering products and making it stress-free was key.
Simple ordering process for end-users
Namba Food meticulously studied users' behaviours and collected feedback to find the perfect market fit.
Users go to the website and choose cafes and shops (+ orders can be placed via phone).
Users save products to cart and check out.
Users receive a call from an operator to confirm the order or can tick the "no calls" checkbox.
Courier delivers the order at a pre-estimated time.
Customers track order statuses
As Namba Food’s delivery service grew more popular, the load on customer support and its operators increased exponentially.
Customer support challenge: The lack of transparent status updates led to the majority of users calling to check the delivery status. Business challenge: A continuously growing number of customer support teams occurred in high operational expenses.
Solution: The Mad Devs team has developed a user-friendly status feature that allows customers to easily track progress on both the mobile app and website.
Android application for couriers
The Android app for couriers enables them to receive new orders assigned to them by operators via the control panel. After a courier is assigned to the order, their app receives a push notification and displays the order pick-up location. After getting the notification, the courier picks up the order from a cafe or a shop and heads to the client.
Admin panel automates Namba Food’s scalability
The built-in reporting functionality enables managers to have full control over the entire list of business partners.
In the admin panel, managers can configure discounts, set working days and hours for cafes, add new meal offerings and do many other things enabling them to deliver users the best possible experience.
Integrating new business with 1000+ products takes less than a few hours. The scalability of Namba Food enables its managers to integrate new business partners into a system quickly. Managers prepare an Excel file with structured menu or product data.
Namba Food automatically categorises data inside the managers' dashboard panel. More than 4000 products can be catalogued in a few clicks.
Flexible catalogue management
Managing partners' content is straightforward, as managers can quickly turn on or off a position inside the catalogue and change pictures and descriptions. Such flexibility enables business owners to meet daily business needs. For example, if a cafe offers a seasonal menu, the items from the summer menu can be temporarily turned off during the rest of the year.
Control panel functionality
Namba Food managers
The control panel gives managers a high-level overview of Namba Food’s daily, weekly, monthly and yearly performance. Business owners receive automatically generated monthly reports to their email.
Detailed reports include information such as:
Accrued revenue
Total number of orders
Total accrued commission
Namba Food operators
The control panel enables operators to manage promo codes and items ordered from a shop or restaurant. The panel makes it easy to get an order status overview, make required corrections and cancel orders if necessary.
Within the panel, operators interact with clients by confirming orders and ensuring that customers’ notes are communicated during the process.
Swift admin panel — intelligent delivery control
The Swift microservice-based admin panel receives order information from the control panel and helps the operators to overview and manage the delivery processes. It displays orders by statuses as diagrams.
The Swift admin panel helps operators to stay in touch with a courier if there is an issue on the way.
Track the couriers' locations on a map and provide statuses of all orders and couriers.
Extract customers’ notes and communicate them to couriers.
Assign orders and prepare reports.
Call curriers using Free SWITCH microservice.
Intelligent auto-assignment system for courier management
The intelligent auto-assignment of orders allows operators to assign couriers to orders, taking into consideration the following factors:
Location of a courier, a cafe/restaurant and the end-user address.
Courier's number of orders delivered during the current shift and in the last three hours.
End-user location in relation to couriers, who are already carrying the order, and in relation to the next order’s pick-up point with the current order.
Auto-assignment system under the hood
Three open-source solutions work together as a cohesive and smart system to perform auto-assignment of orders. This allows you to select the most suitable courier for each order, which reduces delivery time.
Ariadna parses open-source map data and inserts them into ElasticSearch.
ElasticSearch stores couriers’ current locations.
OSMR is a routing engine for the shortest paths and road networks.
Geocoder Ariadna on ElasticSearch with OpenStreetMap
Ariadna is an open-source geocoder based on ElasticSearch with OpenStreetMap, in-house developed. The tool searches for coordinates by synonyms and names of places, looking for crossroads and addresses in a certain radius, and knows how to reverse geocoding and automatically update with new data from drivers.
Grafana — Docker containers’ monitoring service
To monitor the stability of Namba Food software, Mad Devs has integrated Grafana. It allows our developers to keep track of services in Docker containers. Grafana shows how the load in the project is balanced, including disk space consumed, memory allocated, swap, load, container uptime and other parameters.
Monitoring also helps Mad Devs to prevent service timeouts. When the load grows, we can track spikes, estimate the severity of an issue and quickly resolve it.
Technologies used for the Namba Food project
MySQL
PHP Symfony2
Laravel
Docker
Nginx
Redis
Python (Django)
Golang
Kotlin
Java
Swift
Firebase
TestFlight
OpenStreetMap
PHP
Jira Assistant
Grafana
Sentry
Website and mobile app infrastructure scheme
A local hosting provider is used to host the infrastructure. When a system receives a request from the client, it is handled by the Nginx proxy. When the Mad Devs team deploys a new version, we use the Nginx Gen server. The Nginx proxy sends requests to the website, which is in turn connected to the MySQL database, and Redis serves as an in-memory key-value storage.
All our services run in Docker containers, which simplifies the process of infrastructure maintenance and monitoring.
Pipelines
At Mad Devs, we widely use pipelines. The deployment stage has been automated for the staging server, and deployment on the production server is done manually. The pipeline for the Namba Food system is displayed below.
Meet the team
There are now three members on the core development team; during the pre-launch phase, a larger team worked on the Namba Food project. Over the course of the project, five full-time employees and two part-timers have worked closely with the customer: