All projects

UMOJA DS · Mobility

Tugo

Book a ride and pay for it with Mobile Money, from any phone.

My role
Technical lead — architecture, payments, infrastructure
Period
2024 — 2026
Which country
Cameroon · Belgium

Tugo is a mobility platform: book a ride, pick an available slot, pay from your Mobile Money account. Web, Android and iOS all run on the same API. I have been its technical lead since 2024 — architecture, stack decisions, payment integration, infrastructure and team coordination.

The problem.

In Central Africa, the card is not the default payment method — Mobile Money is. A booking platform that cannot collect through MTN MoMo or Orange Money is useless on that market. So payment had to be a native, reliable step of the booking flow rather than a bolted-on afterthought, on infrastructure able to absorb traffic peaks without a large on-call team.

Precisely, here is my contribution on this project.

What I did

  1. 01

    Architecture and technology decisions

    I defined the platform's architecture: a single REST API serving both web and mobile, a data model for routes, availability and bookings, and the service boundaries. I own the stack decisions and document them so the team can align on them.

  2. 02

    Booking and availability engine

    I designed the module handling routes, time slots and remaining seats — the part where race conditions do the most damage. Booking, changes, cancellation and seat release all go through centralised server-side rules instead of trusting the client.

  3. 03

    Mobile Money payment integration

    I wired the Mobile Money aggregators (CinetPay, MonetBil) into the booking flow: payment initiation, confirmation webhooks, transaction reconciliation, and the awkward cases — payment confirmed after the cart expired, duplicate notifications, silent operator failures. A booking is only confirmed once the money is actually confirmed on the operator's side.

  4. 04

    Web, Android and iOS applications

    I drove the product across three surfaces from one API: a Next.js front end plus React Native apps for Android and iOS, with shared components and business rules so the platforms don't drift apart.

  5. 05

    Cloud-native infrastructure and CI/CD

    I containerised the services with Docker, orchestrated them on Kubernetes (GKE) on GCP, and set up the GitLab CI/CD pipelines: build, tests, versioned images and automated deployment. Releases became routine instead of an event.

  6. 06

    Team leadership

    I coordinate the backend, frontend and product teams: breaking down the work, code reviews, technical documentation, and arbitrating when schedule and quality pull in opposite directions.

Where this product lives, and where it was built from.

Which country

The product serves the Cameroonian market, where Mobile Money is the dominant payment method. The team and the steering, however, are split between Yaoundé and Belgium — a distributed setup that shaped the architecture as much as the process.

  • Cameroon

    Yaoundé

    3.85°, 11.50°

  • Belgium

    Bruxelles

    50.85°, 4.35°

Cameroon · Belgium

The stack.

Frontend

  • Next.js
  • React Native
  • TypeScript
  • Tailwind CSS

Backend

  • Node.js
  • API REST
  • PostgreSQL

Paiement

  • Mobile Money
  • CinetPay
  • MonetBil
  • Webhooks

Infra

  • Docker
  • Kubernetes (GKE)
  • GCP
  • GitLab CI/CD

What came out of it.

A product live on three platforms — web, Android and iOS — served by a single API.

Mobile Money payment treated as a critical path: asynchronous confirmation, reconciliation, failure recovery.

Automated, reproducible Kubernetes deployments with no manual steps.

Visit the site