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
- 01
Customer app
Flutter · ordering and checkout
- 02
Payments
TAP Payments · UPayments
- 03
Platform APIs
REST · built by the backend team
- 04
Driver app
Flutter · delivery workflow
- 05
Tracking & updates
PACI Maps · FCM push
- 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
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.
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.
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.
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.