Skip to content
Abdullah Ghonaiem
All projects

Mobile Applications · Backend & Integrations

Coop’s Delivery & Riders

Grocery delivery for Kuwaiti cooperative stores, through a customer app and a dedicated driver app.

Company
Fifty Studios Holding Company
My role
Lead Flutter Developer & Technical Product Owner
Status
In production
Key result
86,500+ combined app downloads
  • Flutter
  • Dart
  • REST APIs
  • TAP Payments
  • UPayments
  • PACI Maps
  • Firebase Cloud Messaging

Overview

Coop’s Delivery & Riders is a grocery delivery platform for cooperative stores in Kuwait. Customers browse a store, place an order, and pay in the customer app. Drivers receive, collect, and deliver those orders through a separate driver app.

The two apps cover the order from both sides: ordering and checkout, delivery management, live tracking, and communication between the customer and the driver. Behind them sit the platform’s backend services, built and run by the company’s backend developers.

Problem and context

Cooperative stores are where much of Kuwait buys its groceries, and several of them feed one delivery operation here. The same order means something different to each party: a basket to the customer, a pick list to the store, and a route to the driver.

The software is also the working tool of a real operation, with more than 60 drivers and 65 employees depending on it every day. A release that confuses drivers or breaks checkout has an immediate cost, so changes have to be planned with the people who use them.

My contributions

Designed and developed

My own work

  • Ordering and delivery workflows in the Flutter customer and driver apps.
  • The Kuwait-specific map experience in the driver app: a PACI basemap, the PACI number carried on each order, and hand-off to navigation apps.
  • Push notification handling for foreground and background states, including alert sounds on Android and iOS.

Integrated

Third-party services I connected

  • TAP Payments and UPayments in checkout.
  • PACI Maps, Kuwait’s official addressing and mapping system.
  • Firebase Cloud Messaging for order and delivery notifications.

Maintained and improved

Production systems I kept healthy

  • Real-time delivery tracking and in-app communication between customers and drivers.
  • Releases of both apps to the App Store and Google Play.

Done with the team

Shared work

  • Defined what the ordering and delivery workflows needed from the APIs, together with the backend developers.
  • Turned requests from stakeholders and operations staff into product requirements and release plans as technical product owner.

Built by others

Not my work

  • The platform’s backend services and REST APIs, built by the backend developers.

Technical architecture

How an order moves through the platform

Conceptual diagram

  1. 01

    Customer app

    Flutter · ordering and checkout

  2. 02

    Payments

    TAP Payments · UPayments

  3. 03

    Platform APIs

    REST · built by the backend team

  4. 04

    Driver app

    Flutter · delivery workflow

  5. 05

    Tracking & updates

    PACI Maps · FCM push

Conceptual overview of the platform’s main parts. Not a detailed map of the internal architecture.
Two Flutter apps, one product
The customer and driver apps are separate Flutter and Dart codebases. Features such as tracking and messaging span both, so they are planned and released together.
Feature-based app structure
Each feature keeps its controller, service, and repository layers apart, and all network calls go through one API client. A change to an endpoint touches one place.
A team-built backend
The apps consume the platform’s REST APIs. My part was the mobile side of that contract and the conversation with the backend developers about what each workflow required.
Maps, tracking, and notifications
The driver app renders PACI map tiles and reports the driver’s position at a regular interval while a delivery is active. Firebase Cloud Messaging keeps customers and drivers informed at each step.

Engineering challenges

  1. Maps that match Kuwaiti addresses

    Challenge
    Addresses in Kuwait are anchored to PACI, the official civil addressing system. Drivers needed the map and the address on an order to agree with what customers entered.
    Approach
    The driver app renders PACI basemap tiles in an open map renderer and carries the PACI number on every order. For turn-by-turn navigation, a chooser hands the destination to Google Maps or Kuwait Finder, falling back to the web when the app is not installed.
    Technology
    • Flutter
    • PACI Maps
    • Map tile rendering
    • App URL schemes
    Outcome
    Each order keeps one official address reference from checkout to the driver’s map.
  2. Two payment gateways, one checkout

    Challenge
    Customers can pay through TAP Payments or UPayments. Each gateway has its own SDK, payment flow, and failure modes, but checkout has to feel like one step.
    Approach
    I integrated both gateways into the Flutter checkout and worked with the backend developers on how a payment result travels back into the order, so the order state follows the confirmed result.
    Technology
    • TAP Payments
    • UPayments
    • Flutter
    • REST APIs
    Outcome
    Customers pay with either gateway inside the same ordering flow.
  3. Order alerts that drivers do not miss

    Challenge
    A driver’s phone is in a pocket or on a dashboard, and the app is often in the background. A missed alert is a late delivery.
    Approach
    Notifications are handled separately for foreground and background states, with local notifications and distinct alert sounds configured for each platform.
    Technology
    • Firebase Cloud Messaging
    • Local notifications
    • Android
    • iOS
    Outcome
    New orders and status changes reach drivers whether the app is open, backgrounded, or closed.
  4. Shipping into a live operation

    Challenge
    More than 60 drivers and 65 employees work through these apps daily. Mobile and backend changes often have to land together, and store review adds its own delay.
    Approach
    As technical product owner I wrote requirements with the operations team, sequenced mobile work against backend changes, and coordinated releases of both apps.
    Technology
    • Requirements
    • Release management
    • App Store
    • Google Play
    Outcome
    Features reach customers and drivers as planned, coordinated releases.

Results and impact

Combined app downloads
86,500+
Customer and driver apps together. Downloads, not unique users.
Platform sales since March 2026
$2.5M+
Sales across the whole platform. Not personal revenue.
Drivers working through the driver app
60+
Employees supported in daily operations
65+

Visuals

No product screenshots published

App screenshots will be added once approved for publication. The cover and the architecture diagram on this page are conceptual illustrations.