All insights

How We Built Easy GO — A Logistics App for Kigali

VAF UBWENGE TECH15 March 2026

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.

The Problem We Saw Every Day

Anyone who has tried to send a package across Kigali knows the challenge. You call a moto driver, negotiate a price you are not sure is fair, wait with no way to track where they are, and pay in cash with no receipt. For small business owners — market vendors, boutique shops, home bakers — this broken experience was costing them customers and trust every single day.

As students living in Kigali, we experienced this problem firsthand. We did not want to just write a research paper about it. We wanted to build something that actually worked. That is where Easy GO began.

Starting on a Whiteboard

The first version of Easy GO was drawn on a whiteboard in a classroom after lectures. We asked ourselves three questions: Who sends packages? Who delivers them? And what information does each side need to make the experience trustworthy?

The answer was simple: senders need a fair price estimate before they commit. Drivers need clear pickup and drop-off details. Both sides need real-time location visibility. And everyone needs a payment method they already trust — which in Rwanda means Mobile Money.

From that whiteboard session, we identified our four core modules: a price prediction engine, a GPS tracking layer, a driver management interface, and a MoMo payment integration. Four problems. One app.

Choosing the Tech Stack

We are a small student team, which means every technology choice has to earn its place. We chose FastAPI for our backend because it gave us async endpoints and automatic API docs — perfect for serving ML model predictions fast. Our team already knew Python from machine learning coursework, so it was a natural fit.

For the frontend and driver dashboard we chose Next.js on Vercel. We could push updates in minutes and get server-side rendering for better performance on lower-end devices common in our market.

Google Maps API gave us reliable road data and distance calculations that fed directly into our price prediction model. And MTN Mobile Money API was non-negotiable — over 90% of digital payments in Rwanda go through MoMo, so we built around it from day one.

Building the Price Prediction Engine

The heart of Easy GO is its AI pricing engine. Instead of fixed rates, we trained a machine learning model on delivery distance, time of day, traffic patterns, and historical pricing data to generate fair, dynamic estimates.

We collected initial training data by surveying moto drivers across Kigali districts — Nyarugenge, Gasabo, and Kicukiro — recording real fares for real routes. That data became the foundation of our first model, a gradient boosting regressor that we retrain as new delivery data comes in.

The model is served through a FastAPI endpoint that accepts origin coordinates, destination coordinates, and package weight, then returns a price estimate in under 200 milliseconds — fast enough that users see the price before they even finish entering their destination.

The Hardest Part: Real-Time GPS Tracking

Live tracking sounds simple until you try to build it. The challenge was not just getting GPS coordinates from the driver — it was updating them in real time on the customer side without hammering our server with requests.

We solved this with WebSocket connections between the driver app and the customer tracking screen. The driver app sends a location ping every 5 seconds. The customer sees the pin move on the map without refreshing the page.

We also had to handle the reality of mobile internet in Kigali — connections drop, speeds vary, and not everyone has the latest phone. We built reconnection logic that resumes tracking automatically when the driver comes back online, so a brief disconnection does not break the entire delivery experience.

What We Launched and What We Learned

Easy GO launched its pilot in Kigali with a small group of drivers and business owners in early 2026. Users loved the price transparency — knowing the cost upfront before confirming a delivery removed the biggest source of friction in the old process.

The biggest lesson we learned was about trust. Technology alone does not make people trust a new platform. We had to show up in person, explain how the app worked, and demonstrate live that their MoMo payment was safe. Building a product for your own community means the community has to believe in you first.

  • Behind the Build

Read next