Integrating Live GPS Tracking with Mobile Money Payments in a Single Flow
One of Easy GO's core UX challenges was linking real-time driver location to a seamless MoMo payment confirmation. This is how we solved it — and what we learned about building for Rwandan users.
The UX Challenge Nobody Talks About
Most articles about building delivery apps focus on either the tracking technology or the payment integration separately. The harder problem was connecting them into a single seamless flow that felt natural to users who had never used a delivery app before.
Our users needed to confirm a delivery, watch it happen in real time, and pay — all without the experience feeling like three separate things held together with tape. That continuity was the design challenge at the heart of Easy GO's UX.
How the GPS Layer Works
When a driver accepts a delivery, their app opens a WebSocket connection to our server and begins sending GPS coordinates every 5 seconds. The customer tracking screen subscribes to that same connection and updates the map pin in real time without any page refresh.
We chose WebSockets over polling because the connection overhead of repeated HTTP requests would have been too high on mobile networks. A persistent connection that only transmits when there is new data is far more efficient for both the server and the device battery.
When the driver marks a delivery complete, the WebSocket closes, the map freezes on the final location, and the payment confirmation screen appears automatically.
Integrating MTN Mobile Money
MTN MoMo integration in Rwanda requires working with the MoMo API sandbox during development, then going through an approval process for production access. The edge cases — failed transactions, network timeouts, duplicate payment attempts — required careful handling.
We implemented idempotency keys for every payment request so that if a user tapped the pay button twice due to slow network response, we would not charge them twice. That one decision saved us from a category of support complaints that would have destroyed user trust early on.
What We Learned About Rwandan Users
Our users were not reluctant to use technology — they were reluctant to use technology they did not understand. Once we added a simple confirmation screen showing the exact amount, the recipient number, and a plain-language description, MoMo payment completion rates improved significantly.
Transparency is not just a nice design principle — for users making financial transactions on a new platform, it is the difference between completing the payment and abandoning the app.
The Result: One Continuous Experience
The flow we shipped: customer confirms delivery and sees price, driver accepts and tracking begins, customer watches live location on map, delivery completes and payment screen appears automatically, customer pays via MoMo with one confirmation, both sides receive a receipt.
Six steps that feel like one. That simplicity took months of iteration to achieve, but it is the feature our users mention most when they tell others about Easy GO.
- Product
Read next
How We Built Easy GO — A Logistics App for Kigali
From a whiteboard sketch to a live delivery platform: the full story of how a student team at VAF UBWENGE TECH engineered Easy GO from the ground up, including the technical choices we made and why.
Using FastAPI and Machine Learning to Predict Delivery Prices in Real Time
A deep dive into the AI pricing engine behind Easy GO — how we collect geospatial data, train our model, and serve predictions in under 200ms using FastAPI deployed on the cloud.
How Artificial Intelligence Is Transforming Delivery Services Across Africa
From Lagos to Nairobi to Kigali, a new generation of startups is using machine learning and mobile-first design to solve last-mile logistics. Here is where Africa stands today.