ShipMe is a middle-east all-size shipping service operating as a delivery auction in Saudi Arabia, one of the major markets in online retailing. The idea of the project was to let customers post requests for shipments of different categories, whereas transporters would bid on each request.
The reverse auction bidding methodology allows customers to benefit by getting the lowest price available and provides carriers with a larger client base.
Our client’s goal was to build a shipping service app that would connect customers and carriers (both individual and corporate shippers). The app had to make the delivery process simple and transparent, as well as convenient for four roles, including corporate managers.
The primary feature of the ShipMe shipping service app is its ability to connect customers with various types of shippers. To provide a clear understanding of the user experience, we began by outlining the user flow for different roles. This enabled us to gain a comprehensive view of the interfaces and processes involved in each step of the journey.
The profiles were built for four roles: customers requesting a delivery, individual shippers, corporate shippers, and corporate managers.
A customer only needs to leave the name and surname and verify the phone number.
That’s all a customer has to do to start placing requests on a platform. After choosing the best offer, a customer can track a parcel and communicate with individual or corporate shippers in the chat.
All are performed within a single app used by shippers as well.
An easy registration process offers to choose between two roles at the start.
Individual shippers upload documents: ID and driver’s license. They can choose a car type from the list and upload a vehicle’s photos. They can also write a short description in the profile to attract users’ attention.
They don’t depend on a company and create individual profiles. Shippers can view the list of available requests and can bid on them by offering the best prices. After the client chooses the best offer, the shipper can pick up and deliver a parcel.
Corporate shippers register profiles by filling out details of the company they work for. As well as an individual shipper, a corporate carrier can attach extra info about the type of vehicle.
The difference between them is that corporate shippers cannot take orders if they are not assigned to them by a manager. Corporate shippers are only involved in the process of delivery and have access to the map showing the end point of the route.
Unlike shippers and customers, an administrator uses a separate web dashboard. A manager can make offers and respond to applications. Corporate admins assign deliveries to the shippers and edit company details such as company name, contact phone, company address, and license number.
Managers can also add new drivers, edit their information, apply filters in vertical navigation, and communicate with the customers if any issues occur.
Parcel delivery progress
Typography and colors
The accent color of the UI is turquoise as it combines well with other colors while still standing out from the rest. The key characteristic of the interface is its simplicity. Therefore, we chose one main color that would emphasize important elements and attract the user's attention.
We make sure to follow the guidelines of the platforms we build for and prepare UI kits in case a client plans to expand the app in the future.
E-commerce is one of the major factors driving the market growth in Saudi Arabia. Therefore, the country is among the leading Middle-East markets in online retailing. Taking these premises into account, we had to make an app whose functionality would withstand tight competition.
Collaborated and Planned
The development team worked closely with the ShipMe company to establish app requirements and features, tailoring them to the Saudi Arabian market.
Designers created wireframes with the core functions and user-friendly interfaces, incorporating feedback to ensure usability for the web admin panel and a mobile app.
Implemented and Integrated
Developers used various technologies to build and integrate the backend and web and mobile apps, ensuring a seamless user experience.
The team conducted rigorous testing and made necessary improvements based on feedback from the ShipMe company.
After meeting quality standards, the app was deployed to the app stores, and ongoing maintenance and updates were provided as needed.
We used native languages to build a shipping service app for ShipMe: Swift for iOS version and Kotlin for Android. Both versions utilize a range of technologies to create a practical and user-friendly solution.
To better understand user interactions and address potential issues, we integrated Firebase Analytics and Crashlytics into the app. Also, we implemented Google Play Wallet to facilitate secure and convenient payment processing.
Integration of Google Maps allowed for accurate location tracking, optimized routing, and easy-to-follow navigation, further enhancing the delivery process.
Additionally, both versions of the app incorporated Reactive Extensions (Rx) for effective data handling and improved response times, which contributed to more efficient delivery process. These combined technologies offer an enhanced user experience and streamline the overall parcel delivery workflow.
Dashboard for customers
Detailed information about the parcels
Adding a new shipment
In case of choosing a shipper’s role during registration, a user gets access to tracking orders functionality.
It’s a dashboard for corporate shippers. There they can accept requests, manage couriers, track deliveries, and communicate with customers.
The web management dashboard was built with Angular. Its powerful data-binding capabilities allow for real-time updates and automatic synchronization between the dashboard's view and underlying data models. This makes it easier for shipping managers to stay up-to-date with the latest information on requests, courier assignments, and delivery statuses.
Moreover, Angular's modular architecture supports the separation of concerns and promotes better code organization, making the app more maintainable and scalable. This is particularly valuable as the shipping platform expands and evolves over time.
We selected Angular for the shipping managers' web app due to its robust capabilities, maintainability, scalability, and efficient development process, ensuring a top-notch experience for corporate shippers while managing their delivery operations.
Admin panel allows managers to track drivers, assign orders to them, and check their availability. All available drivers in the list have a green coloured icon, all unavailable ones are marked with red color. This allows a manager to make quick decisions regarding customers’ orders.
As well as for other projects, we used our favorite Laravel framework for developing the ShipMe server side. Laravel is a robust and efficient PHP framework, providing a streamlined and structured backbone for the development process. The choice of Laravel for this application offers several advantages: