Engineering

How we built routing that actually works in Abuja traffic

Abuja does not follow the rules of other cities. Our engineering team explains how they built ETAs, routing, and surge logic for a city that never stops moving.

EngineeringDec 20, 20252 min read

If you have ever tried to navigate Abuja during peak hours, you know that standard mapping tools do not always get it right. Traffic patterns shift by the hour, roads flood during rainy season, and alternative routes that work on Monday might be gridlocked by Wednesday. Building a ride-hailing app for this city required us to rethink routing from scratch.

Most ride-hailing apps rely heavily on third-party mapping services for their ETAs and routing. Those services work well in cities with predictable traffic, consistent road conditions, and comprehensive map data. Abuja has none of those things consistently. So we built a layer on top.

Our routing engine combines standard map data with real-time signals from active drivers on the road. When a BGlory driver is on a trip, their speed, route, and stops feed back into our system. Over time, this builds a living picture of how traffic actually flows across the city, not how a map says it should flow.

For ETAs, we use a machine learning model trained on thousands of completed trips. Instead of calculating distance and dividing by average speed, our model factors in time of day, day of week, weather conditions, and real-time congestion data from active drivers. The result is ETAs that are accurate within a few minutes, even during rush hour.

We also built custom logic for common Abuja scenarios. If a road is flooded, drivers can flag it in the app and our routing engine immediately redirects other drivers around the affected area. If a particular intersection is known for delays during certain hours, we pre-route around it before drivers even get close.

Surge logic was another challenge. In most cities, demand spikes are predictable: morning commute, evening commute, weekend nights. Abuja has its own rhythms. Market days, church schedules, university schedules, and local events all create demand spikes that a generic surge algorithm would miss. Our system learns from historical patterns specific to different neighborhoods.

The result is a routing system that feels like it was built by someone who actually lives in Abuja. Because it was. Our engineering team spent months driving the city, mapping problem areas, and testing routes before writing a single line of code. That local knowledge is baked into every trip you take.

Join the Waitlist

Be first to ride.

Join the BGlory waitlist and get early access, launch updates, and new posts before anyone else. No spam, just the things that matter.