ride-hailing-app

byArchit
Landing
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirements Document for ride-hailing-app

Page 1 of 57

1. Introduction

CLEAN OF CHARGES

Platform for on-demand urban mobility

“The glory is in service.”

iOS / Android mobile application + Web Console — Cameroon & CEMAC market

Version: 1.0 Date:

May 2026

  1. Preface and project summary

1.1. Purpose of the document

The present specification describes the functional, technical, regulatory and operational

requirements, a demand-responsive urban transport digital platform (VTC – Vehicle with

Driver) intended for the Cameroonian market. The name "KABOD" refers to the biblical

notion of "glory" (from the Hebrew word kavod), reflecting the platform's ambition: to

restore the nobility of the professional driver profession and to offer users a dignified

and reliable urban mobility experience.

1.2. Vision

Page 2 of 57

"To become within five years the first 100% Cameroonian urban mobility platform, present in the

ten largest cities in the country and recognized for the quality of its service, the fairness of its

relationship with drivers, and its local anchoring."

  1. Context and market analysis

2.1. Urban transport in Cameroon

Cameroon urban transport remains largely dominated by informal modes: yellow taxis (collective

“ramassage” at 300 FCFA per day, 350 FCFA at night) and moto-taxis (bend-skin, around 350,000

nationwide, including nearly 100,000 in Douala). In Yaoundé and Douala, these informal modes

account for about 85% of motorized movements. This situation generates several problems

structural: insecurity, tariff opacity, lack of traceability, and mismatch with a clientele

with increasing demands for comfort, safety and punctuality.

2.2. Strategic differentiators

• 100% Cameroonian identity: capital, team and data hosted locally, native tax compliance.

• Fair economic model: commission capped at 15% (vs 18 to 25% observed among

competitors).

Page 3 of 57
  1. Passenger mobile application — Detailed specifications
  • Project name: ride-hailing-app (renamed from infini-emerald).

2. System Overview

1.3. Functional summary

It is a platform connecting passengers and professional drivers, organized around three

interoperable applications:

• A mobile application “Passenger” (iOS and Android) to book a trip.

• A mobile application “Driver” (Android priority) to receive, accept and complete rides.

• A web console “Operator / Administration” for fleet management, partners, pricing, support

and tax compliance.

Driver mobile app

Web console Partner-fleet

Operator web console

Page 4 of 57

3. Functional Requirements

• Native Mobile Money integration (MTN MoMo, Orange Money) in addition to cash.

• Mototaxi module ("KABOD-Moto") from Phase 1, governed by safety standards (helmet

mandatory, driver training).

• Mode “Women at the wheel” and “Ride for women only” – local inspiration from the “Heroes

on the Road” campaign.

• Loyalty program through the works: a percentage of each ride funds a drivers' pool in case of

breakdown or accident.

5.1. Account creation and authentication

• Registration via phone number (SMS OTP verification, MTN, Orange, Camtel operators).

• Optional information: name, e-mail, profile photo, date of birth, gender.

• Alternative login via Google and Apple Sign-In.

• Account recovery via secondary OTP.

• Guest profiles (passenger for a relative) with beneficiary notebook.

5.2. Ride order

• Automatic geolocation of the starting point with manual correction (map).

• Destination entry via address search (mapping integration – see § 9.4).

Page 5 of 57

• Add up to 3 intermediate stops.

• Choose the ride category: KABOD-Eco, KABOD-Comfort, KABOD-Premium, KABOD-Moto,

KABOD-XL (families, 6 seats), KABOD-Women (female driver).

• Display of estimated price before confirmation, with breakdown (base, distance, duration,

hourly rate).

• Choose payment method (cash, MoMo, Orange Money, registered card, KABOD wallet).

• Applicable promo code.

• Validation and automatic matching with an available driver within a defined radius.

5.3. Ride tracking

• Display of driver information: name, photo, rating, make/model/color of vehicle, license plate.

• Real-time vehicle tracking on the map as it approaches and during the trip.

• Dynamic ETA estimation.

• Driver-passenger communication: masked call via intermediary number, in-app chat, pre-set

messages (« I have arrived »).

• Emergency SOS button with geolocation sent to the KABOD security cell and a pre-registered

emergency contact.

Page 6 of 57

• Real-time trip sharing via WhatsApp / SMS link.

5.4. End of trip and rating

• End-of-trip notification, final amount displayed.

• Automatic payment (MoMo/Orange Money, card, wallet) or cash payment confirmation by

driver.

• Driver rating (1 to 5 stars), free comment, predefined tags (« courteous », « prudent driving

», « clean vehicle »).

• Generation of a timestamped PDF receipt (ride number, distance, duration, price, VTC tax 1%,

payment methods).

5.5. History and profile

• Complete ride history with filters by date, mode, amount.

• Ability to report a problem up to 7 days after the ride (forgotten item, fare dispute, driver

behavior).

• KABOD Wallet: balance, recharge MoMo/Orange/card, transaction history.

• Address book (Home, Office, etc.) and favorites folder (preferred drivers).

• Settings: language (French, English, pidgin), notifications, emergency contacts, data-saver

mode.

Page 7 of 57

5.6. Loyalty program

• Earn points « KABOD-Glory »: 1 point for every 100 FCFA spent.

• Levels: Bronze, Silver, Gold, Platinum, with increasing benefits (discounts, priority access,

free upgrades).

• Referral: 500 FCFA offered to the referred, 500 FCFA to the referrer on the referred's first ride.

  1. Driver Mobile Application — Detailed Specifications

6.1. Enrollment (onboarding)

• Registration with phone, identity, and photo.

• Upload of required documents: National ID, driver's license (minimum category B), medical

certificate, criminal record extract no. 3, vehicle insurance certificate (civil liability + public

passenger transport), registration certificate, valid technical inspection, public transport

authorization issued by MINT.

• Physical inspection of the vehicle by a KABOD supervisor (age < 10 years, working air

conditioning, operational seat belts, cleanliness).

• Mandatory initial training in-person or e-learning: 4 hours (app usage, responsible driving,

customer relations, dispute management, safety).

Page 8 of 57

• Knowledge test of 20 questions, minimum score 14/20.

• Account activation only after full validation and electronic signature of the partnership

contract.

6.2. Driver dashboard

• Daily statistics: number of rides, gross revenue, net earnings, distance traveled, time online.

• Current goals and bonuses (e.g.: 10 rides before 6 p.m. = +2,000 FCFA).

• Position on the local ranking (top performers of the week).

• Wallet balance and withdrawal button.

6.2. Driver dashboard

• Toggle button "Online / Offline".

6.3. Receiving and accepting a ride

• Sound and visual notification of a request within a configurable radius (default 3 km).

• Display of the starting point, estimated destination, estimated price, travel time, passenger

rating.

• Acceptance time: 15 seconds.

• Tracking of acceptance rate, cancellation rate, which impact matching priority.

6.4. Navigation and execution

Page 9 of 57

• Integrated GPS navigation (option: Google Maps, Waze, or native navigation).

6.4. Navigation and execution

• "I have arrived" button → notification to the passenger.

6.4. Navigation and execution

• "Start ride" button at the time of pick-up.

• "End ride" button at destination: triggers final calculation and payment.

• Offline degraded mode: local GPS tracking, synchronization when network returns.

6.5. Earnings and wallet

• Detailed calculation per ride: gross price → KABOD commission 15 % → VTC tax 1 % → driver

net earnings.

• Instant withdrawal to MoMo / Orange Money (minimum amount 5,000 FCFA, configurable

daily limit).

• Automatic weekly payment to bank account for drivers labeled “Pro”.

• Exportable history in CSV/PDF for tax declaration.

6.6. Driver safety and well-being

• Driver SOS button (same function as on passenger side).

• Fatigue alert: if the driver exceeds 10 hours online within 24 hours, automatic block for 6

hours.

Page 10 of 57

• Accident coverage: integrated with a partner mutual (contribution deducted per ride).

• Fuel program: partnerships with service stations offering discounts (TOTAL, Tradex,

NEPTUNE).

  1. Web Admin Console — Detailed Specifications

7.1. Real-time Mapping

• Map showing all drivers (online / en route / paused) with filters.

• Demand heatmap (high-density unsatisfied request areas).

• Visualization of ongoing rides with access to details.

  1. Web Admin Console — Detailed Specifications

7.2. User management

• Passengers module: search, temporary/permanent blocks, incident history, refunds.

  1. Web Admin Console — Detailed Specifications

• Drivers module: onboarding workflow, document validation, notes management,

suspension/reactivation.

  1. Web Admin Console — Detailed Specifications

• Drivers module: onboarding workflow, document validation, notes management,

• Fleet partners module: associated vehicles, linked drivers, financial terms, repayments.

Page 11 of 57
  1. Web Admin Console — Detailed Specifications

7.3. Dynamic pricing

• City-specific settings: base price, price per kilometer, price per minute, minimum price, night

  1. Web Admin Console — Detailed Specifications

7.3. Dynamic pricing

• Automatic surge pricing based on supply/demand ratio (multiplier 1.0x to 3.0x, capped).

  1. Web Admin Console — Detailed Specifications

7.3. Dynamic pricing

• Special rates: airport (flat), events (matches, concerts), specific zones.

  1. Web Admin Console — Detailed Specifications

7.3. Dynamic pricing

• Fare modification history with audit trail.

surcharge.

7.4. Contact Center

• Ticket queue (in-app chat, email, phone call, WhatsApp Business).

• Preconfigured response templates.

• Escalation to operations manager.

• Reimbursement tool with approval workflow (amount > 10,000 FCFA = double validation).

Page 12 of 57

7.5. Finance and accounting

• Dashboard of collections (by payment method, by day, by city).

• Automatic reconciliation with MTN MoMo and Orange Money statements.

• Payments to drivers and fleets.

• Production of tax declarations: monthly VAT, VTC tax 1% (payment to the DGI), withholding

tax if applicable.

• SAGE / SAARI accounting export.

7.6. Compliance and reporting

• Reporting to the Ministry of Transport (number of rides, accidents, approved drivers).

• Compliance with personal data law: configurable retention period, right of access and

deletion.

• Monitoring of claims and incidents with photographs, testimonies, and follow-up actions.

7.7. Marketing and loyalty

• Creation and monitoring of promotional campaigns (code, geographic targeting, capped

budget).

• Targeted push notifications (segmentation by frequency, average basket, city).

Page 13 of 57

• Corporate affiliation program (company account, centralized monthly billing).

• Monitoring of marketing KPIs: CAC, LTV, retention rate by cohort.

Enters the destination

3

Chooses KABOD-Confort, MoMo payment

Displays price and conditions confirmation

Sends the request to eligible drivers within a

3 km radius

4

Confirms the order

5

Waits for acceptance

Notifies acceptance, displays driver information

Updates the position every 5 seconds

6

Tracks the vehicle in real time

7

Boards the vehicle

The driver starts the ride, the meter is activated

Step Passenger action

Page 14 of 57

System action

8

Trip completed

Calculates final price, triggers MoMo withdrawal,

sends PDF receipt

9

Rate the driver

Updates the driver's average rating

• 6:00 pm: challenge reached (15 rides), 3,000 FCFA bonus automatically credited.

Address search, logs

9.3. Main services (microservices)

• auth-service : registration, authentication, OTP, JWT.

9.3. Main services (microservices)

• user-service : passenger and driver profiles.

• fleet-service : vehicle management, fleet partners, documents.

• ride-service : lifecycle of a ride (creation, matching, tracking, closure).

• matching-service : chauffeur-passenger matchmaking algorithm (see § 9.5).

• geo-service : reverse geocoding, route calculation, ETA, heatmap.

• pricing-service : pricing calculation, surge pricing, promo codes.

Page 15 of 57

• payment-service : payment orchestration (MoMo, Orange, card, cash, wallet).

9.4. Mapping and geographic data

The mapping system must be designed for the Cameroonian context: informal addresses, landmark

places, local points of reference (« Warda crossroads », « Nlongkak roundabout », « Mokolo market »).

• Primary basemap: OpenStreetMap with local enrichment (POIs added by the KABOD

community).

• Fallback: Google Maps Platform for poorly covered areas.

• Monthly map updates with field contributions (KABOD teams + drivers).

9.5. Matching algorithm

The algorithm assigns a ride to a driver by optimizing a multi-criteria function:

• Distance to the starting point (weight 40%).

• Driver rating (weight 20%).

• Historical acceptance rate (weight 15%).

• Compatibility of requested category vs. vehicle category (hard filter).

• Passenger preferences (favorite, requested gender) (weight 15%).

• Seniority and loyalty (weight 10%).

The algorithm includes an anti-fraud mechanism (GPS spoofing detection, simulators)

Page 16 of 57

and a fallback system in case of repeated rejection (radius widening, category

downgrade with passenger agreement).

9.6. Third-party integrations

Degraded mode

Acceptance of trips even when offline (delayed synchronization)

Pickup package

Price per km

150 FCFA / km

From the 1st km

Component

Value

Commentary

Pickup package

Price per minute

25 FCFA / min

Component

Value

Commentary

Pickup package

Travel time

Page 17 of 57

Component

Value

Commentary

Pickup package

Minimum price

800 FCFA

For any ride < 3 km

Component

Value

Commentary

Pickup package

Night supplement (22:00-05:00)

+25 %

All categories

Component

Value

Commentary

Surge pricing max

x 2.5

Capped by the admin console

KABOD Commission

Page 18 of 57

15% of gross

Driver contractual commitment

VTC Tax (LDF 2026)

1% of gross

Remitted to the DGI

MoMo payment fees

1.5% of amount

According to MTN/Orange scale

11.2. Calculation of a ride – concrete case

Ride of 8 km, 18 minutes, KABOD-Eco, day, MoMo payment:

• Base price: 500 FCFA.

• Distance: 8 × 150 = 1 200 FCFA.

• Time: 18 × 25 = 450 FCFA.

• Gross total: 2 150 FCFA.

• KABOD Commission (15%) : 322 FCFA.

• VTC Tax (1%) : 22 FCFA.

• MoMo Fees (1.5%) : 32 FCFA.

• Driver net: 1 774 FCFA.

11.3. Secondary income sources

• Business accounts (KABOD-Business): monthly subscription + 10% uplift for centralized

Page 19 of 57

invoicing.

• Non-intrusive in-app advertising (partner banners).

• Sale of aggregated and anonymized mobility data to local authorities (with their

authorization).

• Intra-urban parcel delivery service (KABOD-Express) – V2.

  1. Safety, quality and trust

12.1. Driver verification

• Biometric identity check (selfie + scanned ID card).

• Criminal record check (bulletin no. 3) at enrollment then every 12 months.

• Medical fitness examination for driving every 24 months.

• Semi-annual vehicle inspection by a KABOD agent.

• Geofencing: a driver can operate only in the cities for which they are licensed.

12.2. In-ride safety

• SOS button connected to a 24/7 control center and emergency numbers (police 117,

gendarmerie 113, fire 118).

• Automatic recording of trips (start point, route, stops, duration) for 90 days.

• Route deviation alert: if the vehicle strays significantly from the planned route, the passenger

Page 20 of 57

is notified.

• Accident detection via smartphone accelerometer (V2).

• Masked number between driver and passenger (post-ride privacy protection).

12.3. Quality of service

• Bilateral rating system (passenger ↔ driver).

• Automatic deactivation of a driver whose average rating falls below 4.2/5 over the last 50

trips.

• Continuous training program (quarterly e-learning reminders).

• Mystery audit: 5% of drivers checked each month by a KABOD mystery client.

  1. Deliverables and acceptance criteria

14.1. Expected deliverables

• Passenger iOS and Android mobile application published on the App Store and Google Play.

  1. Deliverables and acceptance criteria

14.1. Expected deliverables

• Driver Android mobile application published on Google Play + distributable APK.

  1. Deliverables and acceptance criteria

14.1. Expected deliverables

Page 21 of 57

• Web Administration console accessible via a secure URL.

  1. Deliverables and acceptance criteria

14.1. Expected deliverables

• User documentation (passenger, driver, admin) in French and English.

  1. Deliverables and acceptance criteria

14.1. Expected deliverables

• Technical documentation (architecture, API, data schemas, runbooks).

Anti-fraud ML, anomaly detection,

double validation.

Driver fraud (GPS spoofing,

fake trips)

Multi-provider (MTN + Orange + cards),

auto-switch, fallback cash.

SOS button, 24/7 center, partnership

law enforcement, trip recording.

Page 22 of 57

4. User Personas

  1. Actors and user profiles

3.1. Professional actors

Actor

Role

Application used

Passenger

Order and pay for a ride

Passenger mobile app

Partner driver

Executes trips, independent or employed by

fleet

Fleet owner Provides

a pool of vehicles and

drivers

Operator center of

contact

Customer support and driver, management of

incidents

Operations Manager City p

Page 23 of 57

rformance management, rates, zones

Web console Manager

Finance Manager

Accounting, payments, disbursements,

taxation

Finance Web Console

HSE Manager

Safety, accidents, document verification

HSE Web Console

System Administrator Settings, users, rights, integrations

Admin Web Console

3.2. Passenger profiles (personas)

Persona 1 — The urban executive

Christelle, 32, an executive at a bank in Akwa (Douala). Uses this to go to the office

(morning), to client meetings (daytime) and for Friday night outings. Sensitive to

comfort (air conditioning, cleanliness), punctuality and safety. Mainly pays via MoMo.

Persona 2 — The expatriate and the diplomat

Marc, 45, international consultant on assignment in Yaoundé. Seeks a reliable,

Page 24 of 57

English-speaking service, with recent vehicles (Comfort/Premium range) and tax receipts

for expenses. Pays by international credit card.

Persona 3 — The young female student

Nadège, 22, student at Yaoundé I University. Uses the service mainly at night to go

home. Prefers a female driver or well-rated. Pays cash or MoMo, chooses Economy class.

Persona 4 — The busy merchant

Issa, 38, merchant at Mokolo market. Uses KABOD-Moto for short trips in congested

areas. Price and speed-sensitive. Pays cash.

3.3. Driver profiles

• Independent driver owner of his vehicle ("owner-driver" mode).

• Employee driver of a partner fleet (vehicle rental with revenue sharing with the lessor).

• Mototaxi driver (KABOD-Moto), equipped with a certified 125 cc minimum motorcycle, two

helmets, reflective vest.

5. Core User Flows

Page 25 of 57

5.1 Passenger standard ride

  1. The passenger opens the Passenger mobile app and allows location access. The app centers the map on the current position and permits manual correction.
  2. The passenger enters a destination through address search and may add up to three intermediate stops. The app calculates the route and suggests available ride categories and estimated prices.
  3. The passenger selects a category—KABOD-Eco, KABOD-Comfort, KABOD-Premium, KABOD-Moto, KABOD-XL, or KABOD-Women—chooses a payment method (cash, MoMo, Orange Money, registered card, or KABOD wallet), and optionally applies a promo code. Before confirmation, the app shows the price breakdown: base, distance, duration, and hourly rate.
  4. The passenger confirms the order. The platform automatically matches the request with an eligible available driver within the defined radius, default 3 km, and notifies the passenger when a driver accepts. Matching optimizes distance to the starting point (40%), driver rating (20%), historical acceptance rate (15%), passenger preferences such as favorite or requested gender (15%), and seniority/loyalty (10%), with requested category versus vehicle category as a hard filter. If drivers repeatedly reject, a fallback widens the radius and may downgrade the category with the passenger's agreement.
  5. While waiting, the passenger sees the driver’s name, photo, rating, vehicle make/model/color, license plate, live location, and dynamic ETA. The passenger and driver can use masked calling via an intermediary number, in-app chat, or preset messages such as “I have arrived.” The passenger may share the trip through a WhatsApp/SMS link or activate SOS, which sends geolocation to the KABOD security cell and a pre-registered emergency contact.
Page 26 of 57
  1. The passenger boards when the driver arrives. The driver uses “Start ride,” activating the meter and trip tracking. During the ride, the passenger can monitor the vehicle in real time; the app updates the position every 5 seconds in the standard journey. If the vehicle strays significantly from the planned route, the passenger is notified.
  2. At the destination, the driver selects “End ride.” The platform calculates the final amount, completes automatic payment through MoMo, Orange Money, card, or wallet, or records the driver’s confirmation of cash payment. It sends an end-of-trip notification and a timestamped PDF receipt containing the ride number, distance, duration, price, VTC tax of 1%, and payment method.
  3. The passenger rates the driver from 1 to 5 stars and may add a free comment and predefined tags such as “courteous,” “prudent driving,” or “clean vehicle.” The rating updates the driver’s average. A ride problem—forgotten item, fare dispute, or driver behavior—may be reported for up to 7 days after completion through the available support and incident-reporting channels.
Page 27 of 57

5.2 Passenger account, history, and continued use

  1. A passenger registers with a phone number and SMS OTP through MTN, Orange, or Camtel, or uses Google or Apple Sign-In. Optional profile data includes name, email, photo, date of birth, and gender. Account recovery uses a secondary OTP. A passenger may also create a guest profile for a relative and maintain a beneficiary notebook.
  2. After rides, the passenger reviews complete history and filters it by date, mode, or amount; manages Home/Office and other saved addresses, preferred drivers, payment methods, wallet balance and recharges, and transaction history. The passenger can configure French, English, or pidgin, notifications, emergency contacts, and data-saver mode.
  3. The platform awards 1 KABOD-Glory point per 100 FCFA spent and reflects progression through Bronze, Silver, Gold, and Platinum levels with their applicable benefits.
Page 28 of 57

5.3 Driver onboarding and activation

  1. A prospective partner driver registers with phone, identity information, and photo, then submits the National ID, category-B-or-higher driver’s license, medical certificate, criminal-record extract no. 3, vehicle insurance (civil liability plus public passenger transport), registration certificate, valid technical inspection, and MINT public-transport authorization.
  2. KABOD validates the documents and conducts a physical vehicle inspection. The vehicle must be under 10 years old, have working air conditioning and operational seat belts, and meet cleanliness requirements. Verification includes a biometric identity check (selfie plus scanned ID card); the criminal-record check recurs every 12 months, the medical fitness examination every 24 months, and the vehicle inspection semi-annually by a KABOD agent.
  3. The driver completes the mandatory four-hour in-person or e-learning training covering app use, responsible driving, customer relations, dispute management, and safety. The driver takes the 20-question knowledge test and must score at least 14/20.
  4. After full validation and electronic signature of the partnership contract, the account is activated. The driver can then use the Driver Android-priority app, including the Online/Offline toggle, daily statistics, goals and bonuses, weekly ranking, wallet balance, and withdrawal action. The administration console supports document validation, notes, suspension/reactivation, and fleet-partner associations.
Page 29 of 57

5.4 Driver ride execution

  1. The driver checks the vehicle, opens the Driver app, and switches to Online. The driver may receive requests within a configurable radius, default 3 km. A request provides the pickup point, estimated destination, estimated price, travel time, and passenger rating.
  2. The request produces sound and visual notification. The driver has 15 seconds to accept. Acceptance and cancellation rates are tracked and affect matching priority. If the driver does not accept, the request can continue through matching with eligible drivers.
  3. After acceptance, the driver uses integrated GPS navigation through Google Maps, Waze, or native navigation. On arrival, the driver selects “I have arrived,” notifying the passenger. At pickup, the driver selects “Start ride”; at destination, “End ride” triggers final calculation and payment.
  4. The driver may use the driver SOS function during the trip. Completed rides contribute to daily ride count, gross revenue, net earnings, distance, time online, goals, bonuses, ranking, and wallet activity. A representative day begins at 06:30 with a vehicle check and Online status; at 06:45 a Bastos–Administrative Center ride may produce 1,800 FCFA gross and 1,512 FCFA net after commission and tax, followed by chained rides and positioning suggestions for high-demand zones. At 12:00 the driver switches to Offline for a lunch break and views morning earnings; at 6:00 pm, on reaching the 15-ride challenge, a 3,000 FCFA bonus is automatically credited; at 8:00 pm the driver withdraws the balance to MoMo and checks the ranking.
  5. In degraded mode, the driver can accept trips even when offline, with delayed synchronization.
Page 30 of 57

5.5 Operations and support intervention

  1. Operators monitor the real-time map of online, en-route, and paused drivers, demand heatmaps, and ongoing rides with detail access. Operations managers manage city performance, rates, and zones.

  2. The contact center handles in-app chat, email, phone, and WhatsApp Business tickets, including passenger incidents and driver-management incidents. Operators can search passengers, review incident history, apply temporary or permanent blocks, and issue refunds.

  3. Reimbursements follow the approval workflow; amounts above 10,000 FCFA require double validation. Fleet-partner records include associated vehicles, linked drivers, financial terms, and repayments.

  4. The 24/7 control center receives SOS alerts and coordinates with emergency numbers (police 117, gendarmerie 113, fire 118) and law enforcement partners; trip recording supports incident review. A driver whose average rating falls below 4.2/5 over the last 50 trips is automatically deactivated.

  5. Typical user journeys

8.1. Passenger journey – Standard ride

Step Passenger action

System action

1

Opens the app, allows location

Displays the map centered on their position

Calculates the route, suggests categories and prices

2

Page 31 of 57

8.2. Driver journey – Typical day

• 06:30 am: app opens, vehicle check, switches to 'Online'.

• 06:45 am: first ride, pickup at Bastos to Administrative Center (1,800 FCFA gross → 1,512

FCFA net after commission and tax).

• Day: rides chained with optimization suggested by the app (positioning in high-demand

zones).

• 12:00 pm: lunch break, switches to 'Offline', views morning earnings.

• 8:00 pm: end of day, withdraws balance to MoMo, checks ranking.

6. Visuals Colors and Theme

[Design proposal; unspecified choices are defaults.]

Page 32 of 57

6.1 Visual language: Dignity in motion

Muse: Jessica Walsh. Headline: THE GLORY IS IN SERVICE — KABOD's promise (kavod, "glory") rendered as a bold, warm, local poster rather than a foreign template. The identity reads as 100% Cameroonian: saturated colour fields, confident type, driver-first warmth, for a young urban audience across the Passenger app (iOS/Android), Driver app (Android priority) and Operator/Administration web console.

Palette (dark mode, by role):

RoleToken
Background (60% ground)#1B0F2E deep plum
Surface (cards, tiles)#2A1846
Text#FFF6EC cream
Primary (actions, colour blocks)#FF3D7F hot pink
Accent (live status, fares)#C6FF3D acid lime
Muted (secondary text)#B9A6D6

Deep plum covers roughly 60% of any screen; hot pink carries primary actions and full colour blocks; acid lime is reserved for live status and fare figures so it always signals "now". Cream text on plum and pink stays readable at body sizes.

Typography: Headings Unbounded, weights 700–900, tight tracking, mixed case with exactly one word set in acid lime. Body Archivo. Modular scale 1.333: heading steps 48/64/88/120, body steps 16/18/22. No Inter, Roboto or system fonts anywhere.

Page 33 of 57

Shape language: 32px radii, capsule buttons, sticker-like badges, hard-edged colour blocks. Shapes overlap deliberately and never soften into blobs.

Layout: Asymmetric poster grid — a wide left column of oversized type, a right column stacking a fare card over a map tile. Sections alternate plum and hot-pink fields.

Imagery: Staged photography of Cameroonian drivers and passengers in saturated colour light; bold 3D props (helmet, phone, taxi sign). No stock corporate photography.

Readability rule: headlines, wordmarks, labels, numbers, card text and controls stay whole inside the viewport and their container at 375px, 768px and 1280px, wrapping or scaling via clamp(); imagery and decoration may bleed, crop or overlap instead.

Defaults (not user-specified): the 8px base spacing rhythm with 24/40/64 section steps is a labeled catalogue default consistent with the direction.

7. Signature Design Concept

[Design proposal; unspecified choices are defaults.]

Page 34 of 57

7.1 Signature concept: the poster that moves

The public entry is a full-bleed plum field composed as a single poster. An oversized Unbounded headline THE GLORY IS IN SERVICE spans the viewport in cream with GLORY in acid lime; the wordmark bleeds past the right edge as decoration only. A driver portrait bleeds off the left edge. At lower right floats a hot-pink fare card showing a Yaoundé trip price, with a lime 15% commission badge pinned to its corner — the fair-model differentiator made visible. Beneath the hero, an acid-lime fare ticker marquee runs Yaoundé trip prices. The primary CTA is a hot-pink capsule; section headers sit on hard-edged colour bands that flip plum→pink on scroll.

This recomposes only accepted content: the 15% capped commission, Yaoundé pickup-package pricing, and the three interoperable applications (Passenger, Driver, Operator/Administration console). It introduces no new page or behaviour.

Signature moves carried across the product:

  • Oversized headline with one lime word, bleeding past the edge as decoration.
  • Live fare ticker marquee in acid lime under the hero.
  • Hot-pink capsule CTA with lime commission badge.
  • Section headers on hard-edged bands that flip colour on scroll.
  • Springy scale-ins on cards; colour flip on hover.

Avoid: blue-indigo gradients, glass panels, grids of identical hover-lift cards, stock corporate photography, and the centred headline-plus-subtext-plus-button hero.

Page 35 of 57

8. Interaction Model & Motion Direction

[Design proposal; unspecified choices are defaults.]

Interaction Model: Animated Motion Tempo: expressive Hero Dimensionality: layered_2d

Landing Hero Motion Brief

  • Focal subject: the driver portrait bleeding off the left edge, layered over the plum field, with the fare card and lime commission badge floating at lower right.
  • Thesis: a visitor's arrival (input) triggers springy scale-in of the fare card and badge while the headline settles into place (transformation), landing on a composed poster where the 15% commission and a live Yaoundé fare are immediately legible (outcome). Only accepted content and states are shown.
  • Motion vocabulary: springy scale-ins, colour flip on hover, the acid-lime fare ticker marquee, hard-edged band colour flips on scroll. No parallax depth; dimensionality stays layered 2D.
  • Composed first frame: plum ground, cream headline with GLORY in lime, portrait bleeding left, pink fare card and lime badge at lower right, ticker already running beneath.
  • Reduced-motion state: prefers-reduced-motion removes scale-ins and marquee travel; the ticker becomes a static wrapped row (or horizontally scrollable row) so every Yaoundé price is fully readable, and the poster holds as a still composition. Readable text and controls remain whole at 375px, 768px and 1280px throughout.
Page 36 of 57

9. Non-Functional Requirements

45 %

Cameroon VTC market share

10 %

30 %

4.2. Product objectives

• Average chauffeur connection time < 3 minutes in dense urban area.

4.2. Product objectives

• Average passenger wait time < 7 minutes (covered zones).

4.2. Product objectives

• Average chauffeur rating > 4.5 / 5.

• Cancellation rate of trips < 8%.

• App availability > 99.5% (excluding planned maintenance).

9.7. Security

• TLS 1.3 encryption for all communications.

• AES-256 at-rest encryption for sensitive data (CNI, documents, historical geolocation).

• Multi-factor authentication for administrator accounts.

• Secrets rotation managed by Vault HashiCorp.

• Immutable audit log of all sensitive actions (tariff changes, user suspension, refunds).

Page 37 of 57

• Semiannual penetration testing by a certified external provider.

• Compliance with the provisions of the Cameroonian cybersecurity law (law no. 2010/012).

9.8. Hosting and sovereignty

• Primary hosting: local Tier III certified datacenter (Camtel Data Center) for passenger and

driver nominative data.

• Secondary hosting (replication): international cloud (AWS Paris or OVH Roubaix) for business

continuity.

• Data retention in accordance with Cameroonian law and an internal regulation on personal

data protection.

  1. Non-functional requirements

Category

Requirement

Performance — App

Startup < 2 s, loading screens < 1 s on 4G

Requirement

Performance — API

P95 < 300 ms excluding geolocation, P95 < 100 ms for time endpoints

real

Page 38 of 57

Capacity

10,000 concurrent trips at peak, 100,000 connected drivers

simultaneously

Availability

99.5% monthly uptime excluding planned maintenance

RTO / RPO

RTO 1 h, RPO 15 min

Data consumption

Eco mode < 5 MB/hour of use

Battery consumption

< 8% per hour for the driver app in background

OS compatibility

Android 8+ (90% of fleet local), iOS 14+

Multilingualism

French (default), English, pidgin (V2)

Accessibility

WCAG 2.1 AA level for the web console

• Operational procedures (BCP, DRP, incident management).

14.2. Acceptance criteria

• Functional coverage: 100% of MVP specifications delivered.

Page 39 of 57

• No blocking issues in user acceptance testing; major issues < 5; minor issues documented

and planned.

• Load tests: 5,000 concurrent trips without degradation of user experience.

• Security testing (external pentest): no critical or high vulnerabilities unresolved.

• User validation (UAT): 50 passengers and 30 drivers over 2 weeks, satisfaction > 80%.

• Regulatory compliance: MINT approvals obtained, DGI process implemented and tested over

a month of fiscal production.

Annual audit, encryption, MFA,

compliance law 2010/012.

Cybersecurity (intrusion, leak

data)

Medium

Critical

Physical insecurity

driver/passenger

Medium

High

Page 40 of 57

10. Tech Stack

  1. Technical architecture

9.1. Overview

It adopts a containerized microservices architecture deployed on a hybrid cloud

infrastructure (main CEMAC cloud + international redundancy). The goal is to ensure

resilience, scalability, and compliance with data sovereignty requirements.

9.2. Recommended technology stack

Layer

Technology

Justification

Passenger App

React Native (iOS + Android, shared code

shared ~85%)

Time-to-market, single team, performance

acceptable

Driver App

React Native + native modules

(background location)

Page 41 of 57

Tech continuity + specific GPS needs

background

Web console

Next.js 14 (React 18) + Tailwind

CSS

SEO, SSR, unified React ecosystem

API Gateway

Kong / Traefik

Routing, rate-limiting, authentication

Microservices

Node.js (NestJS) and Python

(FastAPI)

Node for real-time I/O, Python for

matching/scoring

Real-time

Socket.io + Redis Pub/Sub

Geolocation and instant notifications

matching/scoring

Relational database

PostgreSQL 16 + PostGIS

Business data + geospatial queries

Page 42 of 57

Database

documentary

MongoDB

Trip logs, events

Layer

Technology

Justification

Cache and files

Redis + RabbitMQ

Sessions, event files

Search

OpenSearch

Object storage

MinIO (S3-compatible) self-

hosted

Driver photos, documents, PDFs receipts

Mapping

OpenStreetMap + Mapbox

(fallback Google Maps)

Controlled cost, adaptable open data

locally

Page 43 of 57

Payment

MTN MoMo API connectors,

Orange Money API, Cinetpay /

Flutterwave

Mobile money + cards coverage

Observability

Prometheus, Grafana, Loki,

Sentry

Monitoring, traces, errors

CI/CD

GitLab CI or GitHub Actions +

ArgoCD

Continuous deployment

Containers

Docker + Kubernetes (managed) O chestration scalable

• notification-service : push (Firebase, APNS), SMS, e-mail, WhatsApp Business.

• rating-service : ratings and reviews.

• support-service : tickets, escalations, knowledge base.

• analytics-service : KPIs, cohorts, dashboards.

• fiscal-service : VTC tax 1%, VAT, DGI declarations.

Page 44 of 57

• Routing service: OSRM or self-hosted GraphHopper.

• Geocoding: Nominatim + Elasticsearch index enriched with Cameroonian place names.

Integration

Object

Provider

Mobile payment

money

Collection and disbursement M N MoMo Collections/Disbursements, Orange

Money API

Cinetpay, Flutterwave, Paystack

Integration

Object

Provider

Card payment

International cards

Integration

Object

Provider

SMS

OTP, alerts

Page 45 of 57

Twilio + local operator (NEXAH)

Integration

Object

Provider

Meta WhatsApp Cloud API

WhatsApp Business

Support, notifications

Push notifications

Mobile notifications

Firebase Cloud Messaging, APNS

Smile Identity, Youverify

Identity verification

OCR ID card, facial verification

Anti-fraud

Detection of fictitious courses

Sift, Sardine or custom ML solution

OpenStreetMap, Mapbox, Google Maps

Mapping

Maps and routing

Accounting

Accounting export

Page 46 of 57

Sage SAARI, Sage 100

Page 47 of 57

11. Assumptions and Constraints

2.3. Applicable regulatory framework

• Law No. 2001/015 of July 23, 2001 governing transport carrier and road transport auxiliary

professions.

• Regulation No. 04/01-014-UEAC-089-CM/06 of August 3, 2001 bearing the revised Community

Road Code (CEMAC).

• Cameroon General Tax Code: VAT 19.25%, IRPP, business license.

• National Urban Mobility Policy (PNMU – MINHDU, 2019).

• Law No. 2010/012 of December 21, 2010 relating to cybersecurity and cybercrime in

Cameroon.

• Law No. 2010/021 of December 21, 2010 governing electronic commerce in Cameroon.

• Cameroun Finance Law 2026: specific VTC tax of 1% of gross revenue per ride (tax

base of 20%, rate 5%), platform designated as tax collection agent by the DGI.

  1. Project objectives

4.1. 36-month business objectives

Indicator

Page 48 of 57

M+12

M+24

M+36

Covered cities

2

6

10

20 000

Active drivers

1 500

8 000

Active monthly passengers

30 000

200 000

600 000

100 000

Trips / day

5 000

35 000

Annual gross turnover

(FCFA)

Page 49 of 57

1.8 Bn

12 Bn

35 Bn

  1. Business model and pricing

11.1. Structure of a typical trip (Yaoundé example)

Component

Value

Commentary

Base price (KABOD-Eco)

500 FCFA

  1. Realization planning

Phase

Main content

Duration

Milestone

P0 — Pre-project

In-depth market study, business plan,

funding search, core team

2 months

Seed fundraising

Scoping MVP

Page 50 of 57

P1 — Design

Detailed specification, UX/UI mockups,

tech choices, recruitments

2 months

P2 — MVP

Passenger App iOS+Android, Driver App

Android, minimal admin console, payment

cash + MoMo

4 months

Yaoundé Pilot (50

drivers)

1,000 trips/day

P3 — Pilot

operational

Field tests, algorithm adjustments,

recruitment 500 drivers

3 months

P4 — Launch

sales

Yaoundé + Douala

Marketing, partnerships, support 24/7

Page 51 of 57

2 months

Yaoundé + Douala live

Offer diversification

P5 — Expansion

functional

KABOD-Moto, KABOD-Business, loyalty,

fleet programs

4 months

P6 — Expansion

geographical

Bafoussam, Garoua, Kribi, Limbe

6 months

6 cities

Mature platform

P7 — Scale and

features

advanced

KABOD-Express (delivery), API for businesses, AI

predictive

Continuing

Page 52 of 57

Total duration until the commercial launch of the first two cities: about 13 months.

this budget is indicative and will need to be refined in phase P0 based on a quantified market

study and supplier quotes.

• Source code and intellectual property rights transferred to it’s entity.

• Internal team training plan (minimum 3 days).

  1. Risk analysis

Risk

Probability

Impact

Mitigation measure

Administrative suspension (case

Yango 2023)

Medium

Critical

Early engagement with MINT,

MINEFOP, unions. Flawless legal status and

tax compliance.

Upstream social dialogue, program

to integrate traditional taxi drivers as

Page 53 of 57

an additional bonus.

Union reaction (Synactuicam)

High

Aggressive competition (price drop

Yango price)

High

Quality differentiation + local anchoring +

reduced commission. Cash reserve

for 6-month price war.

Medium

Unavailability of mobile network

money

Low

Medium

Keep cash in V1, education

users, MoMo bonus.

Slow adoption of payment

Page 54 of 57

12. Glossary

digital

Low

Medium

  1. Glossary

Acronym / Term

Definition

VTC

Vehicle for Hire (Chauffeur)

T3P

Private Transport for People

MINT

Ministry of Transport of Cameroon

MINHDU

Ministry of Housing and Urban Development

DGI

General Directorate of Taxes

MoMo

Mobile Money (MTN Mobile Money)

CEMAC

Page 55 of 57

Economic and Monetary Community of Central Africa

FCFA / XAF

Franc of Financial Cooperation in Central Africa

OTP

One-Time Password (one-time password)

ETA

Estimated Time of Arrival (estimated time of arrival)

Acronym / Term

Definition

MVP

Minimum Viable Product (minimum viable product)

RTO

Recovery Time Objective (maximum acceptable outage duration)

RPO

Recovery Point Objective (maximum acceptable data loss)

UAT

User Acceptance Testing (user acceptance testing)

CAC

Customer Acquisition Cost (customer acquisition cost)

LTV

Lifetime Value (lifetime value)

Page 56 of 57

GPS spoofing

GPS position spoofing by software

Surge pricing

Dynamic pricing based on demand

Geofencing

Virtual delimitation of a geographic area

Bend-skin

Local name for moto-taxi in Cameroon

Kavod ( בוֹד ָ כָּ)

Hebrew word meaning glory, honor, dignity

— End of document —

Page 57 of 57
Live
Landing design preview
New passenger
Existing passenger
OTP verified
Signed in
Location granted
Destination entered
Moto selected
Cash chosen
Price accepted
Drivers repeatedly reject
Category downgrade agreed
Driver accepts
Driver en route
Ride ended
Payment confirmed
Problem within 7 days
No problem
History reviewed
Landing: View fare ticker
Passenger Login: Register with phone OTP
Passenger Login: Sign in
Passenger: Allow location access
Passenger: Enter destination
Passenger: Select KABOD-Moto
Passenger: Choose cash payment
Passenger: Review price breakdown
Passenger: Confirm order
Passenger: Accept widened radius
Passenger: View driver details
Passenger: Track vehicle live
Passenger: Confirm cash payment
Passenger: Rate driver
Passenger: Report ride problem
Passenger: Review ride history
Passenger: Check KABOD-Glory points
Live
Landing design preview
New passenger
Existing passenger
OTP verified
Signed in
Location granted
Destination entered
Moto selected
Cash chosen
Price accepted
Drivers repeatedly reject
Category downgrade agreed
Driver accepts
Driver en route
Ride ended
Payment confirmed
Problem within 7 days
No problem
History reviewed
Landing: View fare ticker
Passenger Login: Register with phone OTP
Passenger Login: Sign in
Passenger: Allow location access
Passenger: Enter destination
Passenger: Select KABOD-Moto
Passenger: Choose cash payment
Passenger: Review price breakdown
Passenger: Confirm order
Passenger: Accept widened radius
Passenger: View driver details
Passenger: Track vehicle live
Passenger: Confirm cash payment
Passenger: Rate driver
Passenger: Report ride problem
Passenger: Review ride history
Passenger: Check KABOD-Glory points