OgaHQ · Strategy

Strategy document

A greenfield strategy brief — the document we'd write if we were starting OgaHQ from scratch today, knowing what we know about the market and about how the best companies won. Private working document.

No accounts, no cookies, no logging. The token unlocks locally in your browser.
OgaHQ · Strategy document

The operating system for how African trade will actually work.

A greenfield strategy brief: what OgaHQ would build if starting today, and how it would win. Ten sections, each self-contained, each drawing on the patterns of companies that actually shipped their generation's defining infrastructure.

Version 1.0
·
Prepared 2026-07-27
·
Frank Enendu, founder
·
Private
~45 min read
00 · Executive summary

The greenfield thesis, in one page.

If we were starting OgaHQ from scratch today, we would build one system that runs an African trader's shop, keeps their books, and answers their customers — all from a WhatsApp message in whatever language the trader speaks. Nobody has shipped this combination. The window for someone to claim the category is the next 24 months.

The strategic bets

This document defends seven bets that shape everything downstream:

  1. WhatsApp-native, not WhatsApp-as-a-feature. Every competitor treats WhatsApp as a notification channel. We treat it as the operating surface.
  2. Multi-modal in local languages. Voice notes in Pidgin, Yoruba, Igbo, and Hausa. Photos of receipts. Screenshots of bank alerts. All understood.
  3. Two-sided WhatsApp. Merchant and customer message the same number. Nobody has shipped this at scale.
  4. Reconciliation is the moat. The data compounds. Once every sale ties cleanly to every payment, we own the ground truth on merchant cash flow — which is the foundation for lending, credit, and category expansion later.
  5. Freemium land-and-expand. Starts free. Business tier at $15/mo anchors monetisation. Follows Shopify and Notion's playbook, adapted to African price sensitivity.
  6. Operations first, payments close the loop. Ship the operations OS. Then layer OgaPay (payment reconciliation) as the killer feature that makes everything above it truthful.
  7. Nigeria first. Then linear expansion. Own Lagos. Then Accra. Then Nairobi. Pattern proved by every African fintech that scaled.

The path

Twelve weeks to MVP with 10 pilot merchants in Balogun and Ikeja markets. Nine months to 500 paying merchants across Nigeria. Eighteen months to break-even. Three years to 10,000 merchants and category leadership across four African markets.

The ask

$150,000–$300,000 seed round. 40% into product, 30% into field acquisition (Business Relationship Managers on the ground in Lagos markets), 15% into infrastructure and compliance, 15% operational reserve. Break-even projected at month 18. Target Year-3 metrics: 10,000 active businesses, $150K MRR, 80% gross margin, LTV:CAC of 7:1 or better.

The uncomfortable truth

Payments got their African moment: Flutterwave, Paystack, Chipper, MTN MoMo. Logistics is having its moment: Kobo360, Sendy, Lori. HR is having its moment: SeamlessHR, PaidHR. Retail operations — the layer where the money is actually counted — has no winner yet. There's a five-year window before someone claims it. This document is the plan to be that someone.

01 · Product Requirements Document

What we're building and why.

A product requirements document has one job: to align everyone on the same picture of what we're building and, more importantly, what we're not. This PRD frames the vision, the users, the requirements, and the success metrics that follow.

1.1Vision

OgaHQ is the operating system for African trade. One system that runs the shop floor, keeps the books, and talks to the customers — all reachable from a WhatsApp message, in whatever language the trader speaks.

The measure of success is not "how many features shipped" or "how many downloads." It is: on a Tuesday evening, does an African trader trust their books? If the answer is yes at scale, we won. Every other metric is instrumental to that one.

1.2Problem statement

Approximately 40 million SMEs run across Sub-Saharan Africa. Roughly 80% of retail transactions are informal or off-book. Three in four traders track sales on paper or by memory. They lose an estimated 5–10 hours per week and 10–20% of potential revenue to fragmented operational tooling.

The category-leading options fail at the same core thing: they demand the trader change to fit the software. Sage and QuickBooks are built for Western accountants at Western prices. Loyverse and Square lack accounting, WhatsApp, and African payment rails. The notebook doesn't add up. WhatsApp alone has no memory. Every trader compensates by juggling four bank apps, three notebooks, and a WhatsApp thread that scrolls out of scope by Friday.

The existing tools work for the trader. OgaHQ works like the trader.

1.3Target market

Primary target: urban and peri-urban African SMEs across five verticals, ordered by initial fit:

  1. Retail — provisions, cosmetics, boutique, electronics. Highest density in Lagos, Accra, Nairobi. Our beachhead.
  2. Wholesale distribution — FMCG distributors serving downstream shops. Higher transaction values, more complex credit tracking.
  3. Personal services — salons, barbers, gyms, laundries. Booking + retail + labour reporting.
  4. Small hospitality — cafes, small restaurants, food kiosks. Different tempo, similar operations.
  5. Small pharmacies — regulated retail, more complex compliance, higher LTV.

Geographic priority: Nigeria first (Lagos, Abuja, Port Harcourt), then Ghana (Accra, Kumasi), then Kenya (Nairobi, Mombasa), then South Africa (Johannesburg, Cape Town). Diaspora as a supplementary customer segment for e-commerce (§04).

1.4Personas & jobs-to-be-done

Five canonical personas. Every feature must serve at least one. If it doesn't, it doesn't ship v1.

PersonaRolePrimary JTBDChannel preference
AmaraRetail shop owner, Lagos"Help me know my business is working, without spending my evening on it."WhatsApp voice + mobile web
EmekaWholesale distributor, Accra"Help me track credit across 200+ customers and reconcile transfers across 3 banks."Desktop + WhatsApp
FatimaSalon owner, Nairobi"Help me manage bookings, track stylist commissions, and remember every customer."Mobile + WhatsApp
DavidCashier at Amara's shop"Let me process sales fast without needing training. Don't let me break the books."POS (mobile web)
NgoziOnline shopper, diaspora"Let me buy from a Lagos boutique via WhatsApp and pay from South Africa."WhatsApp only

1.5Functional requirements

Requirements bucketed as MoSCoW. Must = required for MVP. Should = required for Beta50. Could = valuable in Phase 2. Later = Phase 3+.

DomainRequirementPriority
POSStandard sale (with customer), rapid sale (no customer), multi-payment splitMust
POSOffline sale queue + sync when online (server-timestamp-wins, 500-tx local capacity)Must
POSVoid with permission gate + accounting reversalMust
InventoryProduct CRUD, stock movements, barcode generation, low-stock alertsMust
InventoryPhoto → product entry via Gemini visionShould
AccountingDouble-entry ledger, auto-post from POS + expenses, chart of accountsMust
AccountingP&L, cash flow, balance sheet reportsShould
InvoicingCreate, edit, void, PDF render, per-tenant invoice prefixMust
CRMCustomer CRUD, credit balance tracking, purchase historyMust
PaymentsCash / POS terminal / transfer / mobile money as recorded modesMust
PaymentsOgaPay: QR + bank ref + auto-reconciliation via Paystack webhookShould
WhatsAppTwo-sided WhatsApp interface (merchant + customer on same number)Could
AuthMulti-tenant, RBAC (owner / manager / cashier), self-serve signupMust
ReportsTransaction report, item sales, sales analysis (profit/cost/staff)Must
SettingsCompany profile, logo, receipt customisationMust
HR / PayrollEmployees, roles, monthly payrollCould
E-commercePublic storefront sharing OgaHQ catalogueLater
SocialAI-generated posts to Instagram / Facebook / TikTokLater
Multi-branchMulti-location inventory and reportingLater

1.6Non-functional requirements

NFRTargetRationale
POS latency<3s online, <1s offlineCashier must not slow the queue.
API p95<500msDashboard, WhatsApp agent both depend on it.
WhatsApp reply latency<6s (median), <10s (p95)Feels like a conversation, not a batch job.
Availability99.5% (v1); 99.9% (Year 2)African commercial hours: 6am-9pm local. Downtime = lost sales.
Offline queue capacity500 sales per deviceSufficient for a full trading day without connectivity.
Data residencyData physically stored in EU or SANDPA / GDPR compliance until African cloud regions mature.
SecurityEvery mutation audit-logged, append-only, 7-year retentionFinancial records + dispute resolution.
Multi-tenant isolationEvery row carries tenant_id. Cross-tenant queries impossible by construction.Trust invariant.

1.7Success metrics

North Star: weekly active merchants — merchants who log ≥ 3 tool actions per week (WhatsApp message resolves to a tool call, or dashboard action, or POS sale). This measures value delivery, not just registration.

≥ 80%
Pilot merchants log in ≥ 3× per week
3+
Tools replaced per merchant
5+ hrs
Time saved per merchant per week (self-reported)
NPS > 50
Net Promoter Score at Month 6

Supporting metrics: activation rate (signup → first sale within 24h), 30-day retention, monthly gross revenue processed per merchant, WhatsApp-originated actions as % of total, and average time-to-recording (message received to sale confirmed).

1.8Assumptions & risks

Every one of these needs to be tested with the pilot cohort.

  • A1: Merchants will pay $15/mo. Risk: high. Test in pilot with a mix of free and paid — measure churn at the paywall.
  • A2: Offline POS is a must-have, not a nice-to-have. Risk: high. Test by measuring % of sales that happen during connectivity dropouts.
  • A3: WhatsApp is the primary interface, not the dashboard. Risk: medium. Test by tracking channel of first action after signup.
  • A4: Traders trust AI-generated summaries of their books. Risk: medium. Test by measuring how often traders act on AI recommendations vs override.
  • A5: WhatsApp referral drives > 50% of signups. Risk: medium. Test by tracking referral source in first 100 signups.

1.9Out of scope (v1)

Deliberate omissions. Everything below is on the roadmap; nothing below ships in the first six months.

  • Multi-currency accounting (single-currency per tenant).
  • Custom-domain e-commerce storefronts.
  • Native desktop application.
  • In-house payment processing / fund custody.
  • White-label / third-party embedding.
  • Cross-border transactions.
  • Lending or credit products.
  • Advanced AI marketing (caption generation, ad copy) — Phase 3.
  • Manufacturing / production planning module — Phase 4.
02 · Technical Requirements Document

How we'd build it, and why exactly like this.

Every technology choice here is defensible. We are optimising for three properties: trust (financial records must never be wrong), reach (must work on a $50 Android over 3G), and iteration speed (small team, need to ship weekly).

2.1Architectural principles

  1. Multi-tenant from day one. Every table carries tenant_id. Every query filters on it. No exceptions. Cross-tenant contamination is architecturally impossible.
  2. Offline-first for POS. The till works without internet. Local IndexedDB queue + service worker. Sync when online. Conflict resolution: server-timestamp-wins with client-generated UUIDs for dedup.
  3. Financial integrity is non-negotiable. Double-entry accounting. Every mutation writes an append-only audit log. Seven-year retention.
  4. Modular monolith, not microservices. Every module (auth, pos, inventory, accounting, etc.) ships in one deployable, but with clean router→service→repository boundaries. Extraction to separate services is a rename, not a rebuild — but we don't extract until traction demands it.
  5. AI is an overlay, never authority. The AI proposes; the human decides. AI never mutates business data directly — it calls the same service layer the dashboard calls, subject to the same RBAC.
  6. Every write is idempotent. WhatsApp deliveries retry, users double-tap, networks flake. Idempotency keys on every POST prevent duplicate posts.
MODULAR MONOLITH · ONE DEPLOYABLE · CLEAN BOUNDARIES app / shared tenant · auth · audit the common core Point of Sale app/modules/pos/ Inventory app/modules/inventory/ Accounting app/modules/accounting/ Invoicing app/modules/invoicing/ CRM app/modules/crm/ Expenses app/modules/expenses/ Purchasing app/modules/purchasing/ Payments app/modules/payments/
Every module follows the same shape (router → service → repository → schemas → models). Cross-module calls go through service imports only. Extraction to microservices is a rename, not a rebuild.

2.2System context

Three human actors (merchant, staff, customer), three system contexts (web dashboard, mobile PWA, WhatsApp), and three critical external systems (payment providers, WhatsApp Business Cloud API, LLM providers). The OgaHQ backend is the central integrator.

SYSTEM CONTEXT OgaHQ backend FastAPI · Postgres · Redis the single source of truth Merchant Amara · Emeka · Fatima Staff David (cashier) Customer Ngozi Dashboard Next.js POS / PWA offline-first WhatsApp two-sided Payment providers Paystack · Flutterwave · M-Pesa Meta WhatsApp Business API Cloud API · webhooks · templates LLM & ML providers Claude · Gemini · Whisper
OgaHQ is the integrator. Every payment, every message, every AI call flows through it — where it can be tied to the sale that produced it.

2.3Tech stack & rationale

LayerChoiceRationale
Backend frameworkFastAPI (Python 3.11) + async SQLAlchemy 2Async I/O critical for concurrent WhatsApp + POS + web load. Python for hiring depth in African tech markets. Pydantic v2 for schema validation at API boundaries.
FrontendNext.js 15 App Router + Zustand + shadcn/uiServer components reduce JS shipped to bandwidth-constrained users. shadcn/ui is copy-paste, not a runtime dependency — good for weight.
DatabasePostgreSQL 16 (Azure Flexible Server)Relational integrity critical for double-entry accounting. Postgres, not MongoDB — this is a transactional system, not a document store.
Cache / queueRedis (deferred until a Redis-backed feature ships)Not premature. Add when session storage, rate limiting, or async job queue actually needs it.
Object storageAzure Blob StorageBarcode SVGs, receipt PDFs, product photos, WhatsApp media.
SecretsAzure Key VaultManaged-identity access from Container Apps; no secrets in env vars.
ComputeAzure Container Apps (South Africa North)Managed containers with scale-to-zero. South Africa North for data residency + latency to primary markets. Two apps: api + web.
CI/CDGitHub ActionsFree tier sufficient for small team. Push to main triggers build + deploy.
IaCOpenTofu / TerraformFull production stack reproducible from repo. Prevents "worked on my laptop" drift.
LLM (planning)Claude Sonnet 5 (primary), Gemini fallbackBest-in-class tool-calling reliability. Fallback prevents provider concentration.
LLM (vision)Gemini flash-lite (primary)10× cheaper than Claude for vision workloads at sufficient quality for barcode/receipt reading.
Speech-to-textWhisper (via Groq hosted)Best-in-class for African English + Pidgin accents. Groq for latency.
WhatsAppMeta WhatsApp Business Cloud API (official)Only path with legitimate business templates + delivery guarantees. Not a scraper.
ObservabilityApplication Insights + Log Analytics + Opik (LLM tracing)All emissions structured. LLM turns traced end-to-end.
Why not AWS?

Original planning documents assumed AWS Lambda + Aurora + Amplify. In practice, Azure Container Apps offers a materially better small-team story: no cold-start Lambda quirks, no Amplify vs. Next.js impedance mismatch, and a South Africa North region for data residency. Azure's compute is not cheaper than AWS at scale — but at our stage, developer velocity outweighs raw price.

2.4Data architecture

Postgres tables share a common shape. Every row inherits Base which supplies four columns: id (UUID), tenant_id (UUID FK), created_at, updated_at. The application layer enforces that every query filters by tenant_id.

-- Every table looks like this, minimum
CREATE TABLE sales (
  id           UUID PRIMARY KEY,
  tenant_id    UUID NOT NULL REFERENCES tenants(id),
  created_at   TIMESTAMPTZ NOT NULL DEFAULT NOW(),
  updated_at   TIMESTAMPTZ NOT NULL DEFAULT NOW(),
  -- domain columns below
  invoice_number   VARCHAR(64) NOT NULL,
  sale_type        sale_type_enum NOT NULL, -- 'standard' | 'rapid'
  customer_id      UUID REFERENCES customers(id),
  total_amount     NUMERIC(18, 2) NOT NULL,
  payment_mode     payment_mode_enum NOT NULL,
  status           sale_status_enum NOT NULL,
  client_uuid      UUID UNIQUE, -- for offline dedup
  ...
);
CREATE UNIQUE INDEX ON sales(tenant_id, invoice_number);

Double-entry accounting. Every business event that changes money produces balanced journal entries. A cash sale of ₦3,250 debits Cash and credits Revenue. A credit sale debits Accounts Receivable, credits Revenue. A payment on receivable debits Cash, credits Accounts Receivable. The invariant: every journal entry's debits sum to its credits.

Audit log. Every mutation writes to audit_log (append-only, no UPDATE/DELETE permissions for app role). Retention: seven years for financial events, indefinite for logs of admin actions.

Multi-tenancy invariants.

  1. Every table carries tenant_id. Enforced by base model.
  2. Every repository method requires an explicit tenant_id argument.
  3. TenantMiddleware extracts tenant_id from JWT and pins it into request state.
  4. Cross-tenant JOINs are architecturally impossible — services can't reach another tenant's repository.
  5. Database backups partitioned by tenant for legal-hold and right-to-erasure compliance.
ONE SALE · FIVE MODULE UPDATES · ONE COMMIT POS sale ₦3,250 · cash trigger event 1 · Inventory stock decrement stock_movements 2 · Accounting journal entry (debit + credit) journal_entries 3 · CRM customer balance updated customers 4 · Notification WhatsApp receipt sent notifications/ 5 · Audit append-only log entry audit_log Committed one transaction books balanced
Every sale updates five modules atomically. If any step fails, all roll back. This is what "one platform, one truth" means in code.

2.5Integration architecture

Payment providers. Abstracted behind a PaymentProvider interface. Each provider (Paystack, Flutterwave, Anchor, Providus, M-Pesa Daraja) implements the same methods: create_intent(), verify_webhook(), initiate_refund(), get_transaction(). Switching providers is a config change, not a refactor. Two providers active in production from day one to prevent concentration risk.

WhatsApp Business Cloud API. Direct integration with Meta. No third-party BSP dependency. This is a deliberate choice — third-party providers add latency, cost, and a single point of failure. Meta provides the API directly; we own the phone number and templates.

LLM providers. Two-provider strategy from day one. Claude for planning + tool-calling (most reliable). Gemini for vision and as fallback. All LLM calls traced via Opik. Cost per merchant/month capped by tenant-level budget with graceful degradation to template-menu fallback.

2.6Security & compliance

  • Authentication. Short-lived access token (30 min) + long-lived refresh token (30 days, httpOnly secure cookie). JWT signed with Ed25519 keys stored in Key Vault.
  • Authorization. RBAC enforced at every service method. Permission checks before dispatch, not inside handlers.
  • Password policy. Minimum 12 characters, must include at least one digit or symbol. Argon2id for hashing.
  • Session security. Account lockout after 5 failed logins. Sessions expire after 30 min of inactivity.
  • PII handling. Customer phone numbers stored only where explicitly needed. Never sent to LLM in raw form (tokenised as <customer:UUID>, resolved server-side).
  • Data residency. Azure South Africa North primary; EU as fallback. Data physically leaves neither region.
  • No training on tenant data. Explicit contractual clause. Table stakes for enterprise adoption.
  • Compliance targets. Nigeria NDPA + Kenya DPA registration within 6 months of launch. SOC 2 Type I within 12 months. SOC 2 Type II by month 18.

2.7Deployment & operations

Infrastructure as code via OpenTofu. Full stack reproducible: terraform apply creates resource group, Postgres, storage, ACR, Container Apps environment, both apps, Key Vault, managed identities, RBAC. Deploy pipeline: GitHub Actions builds and pushes images to ACR, updates Container Apps to new revision, waits for health check.

Environments. Two: dev (branch previews) and prod (main). Staging deliberately omitted — Container Apps revisions provide staged rollout via traffic percentage. Merge to main = production. Revisions can be rolled back in seconds.

Observability. Application Insights for APM. Log Analytics for structured logs. Opik for LLM turn tracing. Custom dashboards for per-tenant cost, error rate, tool-call success rate.

2.8Scaling plan

The architecture scales to 100K tenants without material changes. Beyond that, four things get extracted or scaled:

  1. Postgres → sharded per-region. Nigeria, Ghana, Kenya, SA each get their own Postgres primary. Cross-region queries impossible; each tenant lives in one region.
  2. WhatsApp module → separate service. Message volume grows super-linearly. Extract when messages exceed 10M/day.
  3. MCP + Agent runtime → separate service. Reusable across channels (WhatsApp, web copilot, SMS). Natural extraction candidate for the OgaKit platform play.
  4. Analytics → dedicated warehouse. When cross-tenant analytics load starts affecting transactional performance, move analytics to Snowflake or ClickHouse.
03 · MVP scope

The smallest thing that could win.

Reid Hoffman: "If you're not embarrassed by your first product, you launched too late." The MVP is not "everything a shop needs." It is "the least a shop needs from us to prefer us over the notebook." That's a much smaller target.

3.1Definition

MVP for OgaHQ is: a shop owner can run a full day of trading — from opening to close — entirely on OgaHQ, and at 9 PM, the numbers agree. Nothing more. Everything below serves that one sentence.

3.2In scope

Auth

Signup + login

Self-serve tenant creation. Owner + up to 3 staff. RBAC (owner / manager / cashier). Email verification.

POS

Standard + rapid sale modes

Full-cart checkout, split payment across modes, receipt printing, void (permission-gated), returns.

POS

Offline mode

PWA with service worker. 500-sale local queue. Sync when online. Server-timestamp-wins.

Inventory

Products + stock movements

Create/edit product, receive stock, adjust with reason, barcode generation, low-stock alerts.

Customers

CRM basics

Customer CRUD, credit balance tracking, purchase history, WhatsApp contact.

Invoicing

Create + send

Auto-numbered per tenant, edit, void (admin only), PDF render, WhatsApp send.

Accounting

Double-entry auto-post

Chart of accounts, journal entries auto-generated from POS + expenses. Basic P&L report.

Expenses

Daily expense entry

Categorised, auto-post to accounting, deducted from daily totals.

Reports

Three reports

Transaction report (daily), item sales report (weekly), sales analysis (profit / cost / by staff).

Settings

Company + brand

Business name, logo, address, receipt customisation, currency (NGN v1).

3.3Explicitly out of scope for MVP

These are on the roadmap. None ship v1.

  • WhatsApp interface — Phase 2 dependency.
  • OgaPay auto-reconciliation — Phase 2. Payments recorded as modes only in MVP.
  • E-commerce storefront — Phase 3.
  • Social media manager — Phase 3.
  • Multi-branch — Phase 2.
  • Multi-currency — Phase 3+.
  • HR / payroll — Phase 2. (Already partially shipped in reality but not required for MVP validation.)
  • Mobile app (native Expo) — Phase 2. PWA is sufficient.
  • AI features (summaries, recommendations) — Phase 3.

3.4Validation criteria

The MVP is a success — and we move to the next phase — when at least three of these are true, measured over a 30-day observation period:

≥ 60%
Of pilot merchants use OgaHQ ≥ 3 days per week for full 30-day window
15+ / 20
Pilot merchant interviews confirm fragmentation pain — willing to switch
NPS > 30
Net Promoter Score at Day 30 of pilot
≥ 3
Tools replaced per merchant (notebook / Excel / Sage / etc.)

The 30-day window matters. Merchants love new tools on day 3. What we're measuring is whether they still use OgaHQ on day 30, when the novelty has worn off.

3.5The Balogun 10 — pilot cohort

Ten merchants, hand-picked, in a single Lagos market corridor (Balogun / Idumota). Diverse across the persona spectrum:

  • 5 × cosmetics / beauty retail (Amara-type)
  • 3 × fashion / boutique (Tunde-type)
  • 2 × pharmacy (regulated retail, higher LTV)

Why one corridor? Because Business Relationship Managers can walk between stores. Because merchants talk to each other — word of mouth compounds when the market is dense. Because problems surface faster when you can visit a merchant in 15 minutes. This is the same principle that got Airbnb to 1,000 listings by knocking on doors in New York.

3.6Timeline

Twelve weeks from kickoff to Balogun 10 live:

  1. Weeks 1-2: Foundation. Backend scaffold, auth module, tenant model, offline-first infrastructure.
  2. Weeks 3-4: Data layer. Inventory, customers, suppliers. Frontend product list, customer profile.
  3. Weeks 5-7: Core POS + accounting engine. Sale, invoice, journal entries. POS UI. Receipt.
  4. Weeks 8-9: Supporting features. Orders, credit tracking, expenses.
  5. Weeks 10-11: Reports + settings + polish. Three reports. Company profile. User management. Dark mode & accessibility pass.
  6. Week 12: Beta50 launch. Onboard the Balogun 10 with in-person training. Instrument telemetry.
12 WEEKS · FOUNDATION → BALOGUN 10 LIVE W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 W11 W12 Phase 0 · Foundation Data layer POS + accounting engine · the hardest phase Supporting features Reports + polish M0 · Live Balogun 10
Each bar is a self-contained deliverable. If we miss a bar, we cut scope from the next — never push the launch date.

3.7Risks & mitigations

RiskLikelihoodImpactMitigation
Offline sync corruptionMediumHighServer-timestamp-wins; extensive offline testing; per-client UUID for dedup.
Pilot merchants churn after 2 weeksMediumCriticalWeekly BRM check-ins; iterate features based on friction; product-market fit is measured, not assumed.
Data loss (financial)LowCatastrophicDaily automated Postgres backups; 30-day PITR; append-only audit log for reconstruction.
Payment provider outage during pilotMediumMediumOgaPay isn't in MVP — payment modes are self-recorded; risk deferred.
Regulatory intervention (NDPA)LowHighRegister with Nigeria NDPA before pilot launch; adopt privacy-by-design; data residency in SA/EU.
04 · User flows

Five journeys, one system.

Every persona has a distinct primary flow through OgaHQ. Each flow is designed to be traversable in fewer than five taps for the happy path. These diagrams are the reference. If a shipped feature adds friction to any of them, we've made the wrong decision.

4.1Amara — retail shop owner

Amara's flow is centred on the operating loop: open the shop, run the day, close the day, sleep knowing the books balance.

AMARA · SHOP OWNER · DAILY FLOW 6 AM Open Check dashboard on phone · low-stock alerts 9 AM Rush Cashier on POS · real-time dashboard 10:30 AM WA customer Amaka messages · agent answers · sends invoice 3 PM "Did Chidi pay?" Voice note in Pidgin · answer in seconds 6 PM Close Daily summary auto-generated · books balance · printed & sent Total merchant screen-time for the day: ~15 min · Everything else is passive or WhatsApp-native
Amara's flow is 90% WhatsApp, 10% dashboard. The dashboard is the daily-report medium; WhatsApp is the operating surface.

4.2Emeka — wholesale distributor

Emeka's flow centres on multi-branch coordination and receivables management. He is not touching the POS himself — his staff are, across three warehouses.

EMEKA · WHOLESALE DISTRIBUTOR · MULTI-BRANCH DAY 7 AM Cross-branch Desktop dashboard · 3 warehouses at a glance 10 AM Receivables WhatsApp reminders to 15 overdue customers 12 PM Stock alloc New shipment split across 3 warehouses 2 PM Reconcile 3 transfers match sales; 1 goes to Unmatched queue 5 PM Staff report Sales-by-staff review · flag top performers 7 PM Close Day totals locked · CSV to accountant
Emeka's day is desktop-first (branch consolidation) with WhatsApp for outbound reminders. Volume of receivables makes this his critical loop.
7 AM
Cross-branch review. Emeka opens the desktop dashboard. Sees yesterday's revenue by branch, top downstream customers by outstanding credit, incoming shipments.
10 AM
Receivables push. He initiates WhatsApp reminders to 15 customers with overdue balances via the CRM. OgaHQ sends personalised messages using merchant identity.
12 PM
Stock allocation. A new shipment arrives at Warehouse A. He transfers 40% to Warehouse B and 30% to Warehouse C from the mobile app. Inventory rebalances across branches.
2 PM
Payment reconciliation. Three transfers hit his GTB account. OgaHQ (OgaPay Phase 2) matches each against outstanding invoices. Two match cleanly; one goes to Unmatched queue.
5 PM
Salesperson performance. Reviews sales-by-staff report. Notices staff at Warehouse B outperforming; flags for the branch manager.
7 PM
Bank close. Consolidates day's totals, exports a CSV for his accountant. Locks the day's records.

4.3Fatima — salon owner

Fatima's flow braids booking, service delivery, and retail. She has stylists working on clients while she manages the till and the schedule.

Morning
Booking check. Reviews today's appointments from OgaHQ dashboard. WhatsApp confirmation goes out to each client automatically.
Client arrives
Service kickoff. Fatima assigns the stylist. OgaHQ starts a service session — tracks time, products used, stylist commission accrual.
Retail sale
Adjacent purchase. Client buys shampoo. Standard POS sale; auto-links to the client profile for future recommendations.
Payment
M-Pesa Till. Client pays via M-Pesa. Push notification lands in OgaHQ. Payment auto-reconciles against the service + retail invoice (OgaPay Phase 2, M-Pesa Daraja integration).
Close
Stylist payout. Commissions calculated automatically. Fatima approves; payouts go out (or accrue for monthly payroll).

4.4David — cashier

David's flow is short, repetitive, and must never break. His interface is the POS — nothing else. He never sees the dashboard.

Open
Log in as cashier. Sees today's shift. POS ready. Products cached locally (offline-ready).
Sale
Ring up. Barcode scan or product tap. Cart builds. Total calculated with tax and any discount. Three-tap checkout.
Payment
Pick payment mode. Cash, POS terminal, transfer, mobile money. Split if needed. Confirm.
Receipt
Print & send. 80mm thermal receipt printed. If customer opts in, WhatsApp receipt sent.
Void
Owner approval. Void requires owner's PIN or WhatsApp approval. Stock reverses, journal reverses, audit logs.
Handover
End of shift. Cashier reconciles till cash against system-recorded cash sales. Any variance flagged for owner.

4.5Ngozi — online shopper

Ngozi never opens the merchant's website. She discovers the shop on Instagram, messages via WhatsApp, and pays. Her flow is entirely on WhatsApp.

NGOZI · CUSTOMER · WHATSAPP-ONLY FLOW Discover Instagram post · taps WhatsApp CTA Enquire "In stock, size M?" agent checks live stock Order "Ship to Joburg" invoice + shipping Pay Card via payment link OgaPay confirms Fulfil Merchant ships · tracking sent Receive Confirms · order closed
The whole customer journey lives inside WhatsApp. Ngozi never opens a website, never runs a payment gateway console. The merchant never leaves OgaHQ.
Discover
Instagram. Ngozi sees a product post from the merchant. Taps the WhatsApp CTA.
Enquire
WhatsApp. "Is this dress still in stock in size M?" OgaHQ agent (Phase 3) checks inventory in real time. "Yes — 2 in stock in size M, price ₦18,500."
Order
Confirm. "I'll take one. Ship to [address in Johannesburg]." Agent generates invoice, computes shipping, sends payment link.
Pay
Cross-border. Ngozi pays via card through the payment link. OgaPay confirms. Merchant is notified.
Fulfil
Shipment. Merchant packs, hands off to logistics partner (integration in Phase 4). Tracking sent to Ngozi on WhatsApp.
Receive
Delivery. Ngozi confirms receipt. OgaHQ marks order fulfilled. Merchant's inventory finally decrements from "reserved" to "sold."
The point of the customer-side flow

Ngozi's flow proves the two-sided WhatsApp thesis. The merchant never opens a website builder, never runs shipping software, never operates a payment gateway console. All of that is happening inside OgaHQ, driven from WhatsApp interactions on both sides. The merchant experience is: WhatsApp messages come in, sales happen, payments land. That's the whole thing.

05 · Design system

The visual and interaction language.

A design system is not decoration. It's a decision-compression tool: every time we skip re-picking a colour or re-picking a spacing value, the team ships faster. This is the OgaHQ system. It is opinionated on purpose.

5.1Design principles

  1. The 10-second rule. The most common merchant actions — check today's sales, add a product, record a sale, check a customer balance — must complete in under 10 seconds. If a flow takes longer, we redesign it.
  2. Zero training. A first-time user should complete their first sale within 5 minutes of signup. No manuals. No videos. No support tickets.
  3. Graceful degradation. When the internet fails, the system gets simpler, not broken. Offline mode strips features but never functionality on the critical path.
  4. Channel-appropriate communication. Dashboard responses are visual. WhatsApp responses are conversational. Push notifications are urgent. Emails are archival.
  5. Owner authority preserved. The AI recommends. The owner decides. Every AI-suggested action carries a rationale and a confidence score.
  6. Progress not perfection. When we're 80% sure and the merchant has been waiting, we ship the answer with a confidence caveat rather than nothing.

5.2Colour system

Chosen neutrals with intent, three semantic accents, and semantic pairs for status. Every value in the system defers to accessibility contrast ratios (WCAG 2.1 AA minimum).

THE PALETTE Ground #F5F0E6 warm cream Ink #1E1A15 warm charcoal Green #1F4A3E primary accent Terracotta #B54A2E highlight Ochre #C58F1A data / numbers Rule #D6CDBB hairline dividers
The whole system runs on six values plus their dark-mode counterparts. Restraint is the point.
Ground

Warm cream

#F5F0E6 — the primary reading ground. Warm, un-clinical, unmistakably not a Silicon Valley SaaS. Dark mode: #16130E.

Ink

Rich charcoal

#1E1A15 for reading text. Not pure black — pure black feels flat on cream. This ink retains warmth from the ground. Dark mode: #F0EADC.

Primary accent

Forest green

#1F4A3E — structural, "durable / trustworthy". Used for actionable primary elements and financial-success indicators.

Highlight accent

Terracotta

#B54A2E — attention, warmth, urgency. Used sparingly for emphasis, error states, "act now" moments.

Data accent

Mustard ochre

#C58F1A — data, numbers, chart series. Cool enough to defer to primary/highlight, warm enough to sit on the cream ground.

Rule

Warm hairline

#D6CDBB — dividers, table borders. Not gray — a warm tan that unifies with the ground.

Semantic pairs (status)

Semantic colours are separate from accents. A "success" state is green not because green is our brand — it's green because it's semantic.

  • Success / paid / balanced: forest green, #1F4A3E
  • Warning / attention / pending: ochre, #C58F1A
  • Error / failed / unpaid: terracotta, #B54A2E
  • Neutral / info: ink-soft, #3A342B

5.3Typography

Three type roles: display, body, mono. All from system stacks. No webfont dependency — loads instantly, works offline.

Display · sans
Aa
Section heading
Card title
Small caps label
Body · serif
Aa
The books balance every night. Reading text uses a warm humanist serif, ranged left, generous line-height. Nothing gets in the way of the reader.
Mono · data
₦12,500.00 · INV-042 · 2026-07-27
app.modules.pos.service.create_sale(tenant_id=..., items=[...])
Sans for display + UI. Serif for reading. Mono for anything that lines up in columns. Three roles. No webfont dependency.
RoleStackUse
Displayui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serifHeadings, buttons, chips, labels. Weights 500–900. Tight tracking for large sizes.
Bodyui-serif, "Iowan Old Style", "Charter", Georgia, serifReading text, prose, paragraphs. Warm serif for extended reading.
Monoui-monospace, "SF Mono", "Menlo", "Consolas", monospaceNumbers, IDs, code snippets, currency amounts. font-variant-numeric: tabular-nums always.

Type scale. Modular scale of 1.25 ("major third"), anchored at 16px body. Sizes: 12 / 13 / 14 / 16 / 18 / 20 / 24 / 30 / 38 / 48 / 60.

Currency rendering. Always ₦12,500 or ₦12,500.00. Currency symbol before the number. Thousands separated by comma. Two decimals for amounts requiring precision.

5.4Component library

Base on shadcn/ui + Radix primitives. Copy-paste-and-customise, not a runtime dependency. Core components v1:

  • Button — three variants (primary, secondary, ghost), three sizes (sm, md, lg). Loading state built in. 44×44px minimum touch target.
  • Input — labels, help text, error state, disabled state. Currency-aware inputs auto-format on blur.
  • Table — sortable, sticky headers, mobile "card view" fallback below 640px. Never horizontal scroll.
  • Card — the primary content container. Padding scale (16 / 24 / 32).
  • Modal / Sheet — modal on desktop, bottom sheet on mobile. Close on backdrop tap.
  • Toast — 4-second auto-dismiss, one at a time, semantic colour by type.
  • Badge / Pill — semantic status indicators. Same colour system as text.
  • Stat card — big number, label. Used across dashboards.
  • Empty state — always with a next action. "No sales yet today — your first customer is just a scan away."
  • Search / Combobox — the primary product-lookup pattern. Debounced, keyboard-navigable, mobile-friendly.

5.5Voice & tone

The OgaHQ writing voice is: direct, warm, culturally grounded, and never condescending. We speak to the merchant as a peer, not as a novice user.

We say

Concrete verbs

"Record a sale." "Send Amaka an invoice." "Void this transaction." Every button says exactly what happens.

We don't say

Generic UX-isms

Not "Submit." Not "Save changes." Not "Continue." Those tell the merchant nothing about what they're about to do.

Errors

What broke, what next

"Payment didn't reach us yet — this can take up to 10 seconds. Refreshing in 5s." Not "Error 500."

Success

The outcome, not the fact

"Sale recorded. Invoice INV-042. Amaka's balance is now ₦0." Not "Success!"

AI responses

Confidence + rationale

"Peak Milk is running low. I suggest reordering 24 tins — that's what you sold in the last 10 days. Confidence: high."

Cultural grounding

Pidgin welcome, not required

Pidgin phrases in WhatsApp: "Send am." "Wetin remain?" But English is the default and every screen can be Pidgin, Yoruba, Igbo, Hausa (Phase 3).

5.6Accessibility

  • Target WCAG 2.1 AA for all customer-facing surfaces.
  • Colour contrast: 4.5:1 for body text, 3:1 for large text and UI elements.
  • Keyboard navigation for every interactive element. Visible focus states.
  • Touch targets ≥ 44×44px on mobile.
  • Semantic HTML (landmarks, headings, buttons vs. links).
  • Screen-reader labels for every icon-only control.
  • Respect prefers-reduced-motion — no essential info conveyed via animation.
  • Autocomplete attributes on form fields.

5.7Motion & interaction

Motion is used for two things only: state feedback (something happened) and hierarchy (this is more important than that). No motion for decoration.

  • Micro-transitions: 120-180ms cubic-bezier(0.4, 0, 0.2, 1). Buttons, hovers, focus states.
  • Layout transitions: 240-320ms same curve. Panels opening, tabs switching.
  • Success moments: subtle 400-600ms confirmation animations. Never blocking.
  • Loading: skeletons for content, spinners for actions. Never both simultaneously.
06 · Development roadmap

Phased delivery. One thing at a time.

The roadmap is deliberately sequential, not parallel. Small teams that try to build four things at once ship none of them well. The ordering below is chosen so each phase enables the next: the operations OS makes payment reconciliation truthful; reconciliation makes the WhatsApp assistant useful; WhatsApp usage generates the referral engine.

PhaseFocusTimingShip gate
Phase 1Core Operations MVPM0-M4 (12 weeks)Balogun 10 pilot live, ≥ 60% weekly active, NPS > 30
Phase 2Operational GrowthM4-M8500 paying merchants; OgaPay v1 live; multi-branch working
Phase 3Digital ExpansionM8-M14WhatsApp two-sided live; 2,000 merchants; e-commerce storefront
Phase 4Advanced IntelligenceM14-M2410,000 merchants; AI marketing; multi-country
24 MONTHS · FOUR PHASES · CLEAR GATES M0 M4 M8 M12 M14 M18 M24 Phase 1 Core MVP Phase 2 · Operational growth + OgaPay + Multi-branch Phase 3 · WhatsApp + E-commerce + Social Phase 4 · AI · Vision · Multi-country Balogun 10 500 merchants 2,000 merchants Break-even 10K merchants
Overlapping phases, sequential gates. No phase starts until the previous one's gate is passed.

6.1Phase 0 — Foundation (Weeks 1-2)

Zero customer-visible output. Pure infrastructure and shared code. This is the load-bearing week that makes everything else possible.

  • Backend scaffold — FastAPI app, config, database, security, tenant middleware, base models, base repository, audit logger.
  • Auth module — register, login, refresh, RBAC. Self-serve tenant creation.
  • Frontend scaffold — Next.js 15, API client with 401 handling, Zustand auth store, shadcn/ui base components.
  • PWA infrastructure — manifest, service worker, IndexedDB wrapper (Dexie.js), sync engine, offline indicator.
  • CI/CD — GitHub Actions for CI (lint + tests), for deploy (build + push + update Container Apps).
  • IaC — OpenTofu modules for the full stack. Provable via terraform apply in a fresh subscription.

6.2Phase 1 — Core Operations MVP (Weeks 3-12)

Everything the Balogun 10 need to run their shop end-to-end.

  • Weeks 3-4 — Data layer. Inventory, customers, suppliers, purchase orders.
  • Weeks 5-7 — POS + accounting engine. Sale, invoice, journal entries. Standard + rapid modes. Receipts. Returns. Void with approval.
  • Weeks 8-9 — Supporting features. Orders/quotations, payments recording, expenses, credit tracking.
  • Weeks 10-11 — Reports + settings + polish. Three reports. Company profile. User management. Dark mode. Accessibility.
  • Week 12 — Beta50 launch. In-person onboarding of the Balogun 10. Full telemetry.

6.3Phase 2 — Operational Growth (M4-M8)

Scale the pilot to 500 merchants. Add OgaPay to unlock the closed loop. Add multi-branch for Emeka.

  • OgaPay v1 — Paystack primary, Flutterwave secondary. QR + bank ref + webhook auto-reconciliation + audible chime.
  • Multi-branch — per-branch inventory + per-branch reporting + cross-branch stock transfer.
  • HR / payroll — employees, roles, monthly payroll cycles.
  • Marketing automation — bulk WhatsApp campaigns to CRM segments.
  • Native mobile app (Expo) — same API, native barcode scanning + push notifications.

6.4Phase 3 — Digital Expansion (M8-M14)

The WhatsApp interface goes live. E-commerce storefront and social manager complete the growth surface.

  • WhatsApp interface — full two-sided implementation. MCP layer + agent runtime + Meta Business API integration.
  • E-commerce storefront — auto-generated from OgaHQ catalogue. Shares payments infrastructure.
  • Social media manager — AI captions, scheduled posts, engagement analytics.
  • AI daily summary — WhatsApp digest at 10pm with day's headline numbers.
  • Multi-language — Yoruba, Igbo, Hausa added on top of English + Pidgin.

6.5Phase 4 — Advanced Intelligence (M14-M24)

Everything above works. Now we bet on AI, computer vision, and category expansion.

  • AI marketing — caption generation from product photos, ad copy, content calendar.
  • Computer vision — bulk catalogue creation from shelf photos (10 products from one image).
  • Multi-currency — merchants can sell in NGN, USD, GHS, KES simultaneously.
  • Regional expansion — Ghana, Kenya, then South Africa.
  • Workflow automation — Zapier-like triggers within OgaHQ.
  • Optional platform extraction — OgaKit for third-party embedding (only if a design partner materialises).

6.6Parallel workstreams

Some things can happen in parallel to the main development track:

  • Compliance registration. NDPA Nigeria + Kenya DPA — start Week 1, complete by Month 6. This has calendar-time, not developer-time.
  • Meta WhatsApp Business Cloud API verification. Business verification takes 2-6 weeks. Start at Month 4 for a Month 8 WhatsApp launch.
  • Content marketing. Blog posts, YouTube shorts, Twitter demos of the product from Week 8 onwards.
  • Field BRM hiring. Start recruiting BRMs at Month 3, target 2 hired by launch.

6.7Milestone gates

Each phase transition is gated. We do not begin the next phase until the current phase's gate is passed. This forces discipline; it also protects against feature-creep.

GateCriteriaWhat we do if it fails
Phase 1 → 2≥ 60% pilot weekly active + NPS > 30 at Day 30Iterate on Phase 1 for 6 more weeks; if still failing, pivot.
Phase 2 → 3500 paying merchants, MRR > $5K, churn < 8%/moFocus on retention before adding new surfaces.
Phase 3 → 42,000 merchants, WhatsApp is primary channel for > 40%, unit economics greenSlow expansion, focus on WhatsApp adoption.
Phase 4 exit10,000 merchants, category leadership evident, break-even reachedBy this point, Series A conversation is real.
07 · Monetisation plan

Free-to-paid, then payment margin, then platform.

Every enduring commerce infrastructure company evolved from a single revenue stream into three or four. Stripe went from payments → banking → capital → issuing → billing → tax. Shopify went from stores → payments → shipping → capital → POS → fulfillment. OgaHQ's path is: SaaS subscription → payment processing margin → AI add-ons → potential lending rail.

7.1Revenue streams

StreamStart% of revenue by Yr 3Why it works
SaaS subscriptionDay 1~80%Predictable, high-margin, scales linearly with active merchants. Foundation.
Payment processing marginMonth 6 (OgaPay)~15%Adds small margin (0.3-0.5%) on top of Paystack/Flutterwave fees. Scales with GMV.
AI add-onsMonth 12 (Phase 3)~5%Advanced AI features (bulk cataloguing, ad copy generation, predictive reorder) as usage-based add-ons.
Lending rail (via partner)Year 3+GrowingWorking-capital credit to merchants based on reconciliation data. Revenue share with partner lender.
Marketplace / APIYear 4+OptionalOgaKit — the platform play. Only if a paying design partner emerges.

7.2Pricing philosophy

Three principles determine our pricing:

  1. Free tier must be usable, not crippled. A trader on the free tier can run their whole day. That's the point — they experience the value, then convert when they need capacity or capability the free tier caps out.
  2. Business tier is the anchor. $15/mo. Priced under Sage/QuickBooks by 3-5×. Priced above Prokip and Loyverse for capability we deliver that they don't (accounting, WhatsApp integration, etc.).
  3. Pro tier adds concrete capabilities, not just quantity. Multi-branch. Full accounting. Social. AI features. These are the things a business needs when it has grown beyond one shop.

7.3The four tiers

TierPriceCapIncludesTarget persona
StarterFree50 tx/day · 100 products · 1 userPOS, inventory, basic invoicing, receiptsSole traders, brand-new shops
Business$15/moUnlimited POS · 5K products · 5 users+ Full accounting, CRM, e-commerce (Phase 3), WhatsApp interface (Phase 3)Amara — the primary customer
Pro$35/mo15 users · multi-branch+ Multi-branch, social manager, AI features, priority supportEmeka — wholesale distributors, growing chains
EnterpriseCustomUnlimited+ SLAs, custom integrations, dedicated CSM, advanced complianceLarger operators (50+ locations)

7.4Unit economics

Rigorous unit economics discipline from day one. Our target curve:

$15-20
ARPU (blended across tiers)
$15-25
CAC (customer acquisition cost)
$180-300
LTV (assuming 24-mo blended retention)
7:1+
Target LTV:CAC ratio
75-80%
Target gross margin
< 8%
Monthly churn ceiling

The maths that has to hold: at ARPU $15 and 4% monthly churn, LTV = $15 × (1/0.04) = $375. At CAC $25, LTV:CAC = 15:1. Even at pessimistic 8% monthly churn and $20 CAC, LTV:CAC = 9.4:1. The unit economics are viable across a wide range of assumptions.

MRR vs COSTS · 24-MONTH CURVE · BREAK-EVEN M18 $0 $10K $20K $30K M0 M4 M8 M12 M16 M18 ✓ M20 M24 Costs ~$22K/mo MRR ~$30K/mo + OgaPay margin Break-even
Illustrative curve. Break-even reached at Month 18 when ~1,500 paying merchants + OgaPay margin exceed fixed operational costs.

7.5Payment processing margin (OgaPay)

Nigerian card + transfer processing typically costs merchants 1.5-2%. Paystack/Flutterwave charge merchants directly. OgaPay adds a small margin (0.3-0.5%) on top for the reconciliation service. At $10K/mo GMV per Pro-tier merchant, that's $30-50/mo per merchant in additional revenue — potentially larger than the subscription itself.

The critical decision: transparent, tiered payment fees, with volume discounts for Pro/Enterprise. Never hidden. Always disclosed at signup. Merchants trust us because we tell them the truth about our take.

7.6Path to profitability

Break-even at Month 18. The maths:

  • Fixed cost (small team + infrastructure): $15-20K/month by Month 12.
  • At 1,500 paying merchants × $15 ARPU = $22.5K MRR at Month 18.
  • Plus ~$5K/mo in payment margin from Pro-tier merchants using OgaPay.
  • Total ~$27.5K MRR against ~$22K burn = break-even with modest headroom.

7.7Comparable case studies

Shopify

Started at $29/mo, expanded into everything

SaaS subscription was foundation. Payments (Shopify Payments) became bigger. Then Capital, then POS, then Ship. Category-leader outcome: $80B+ market cap. The path is: own the operations layer, then integrate every adjacent value pool.

Square

Free card reader, monetise via payments

Free hardware to capture merchants. Payment margin on every transaction. Then Cash App (consumer), Payroll, Banking. Category-leader outcome: $60B+ market cap. The path is: subsidise the front door, monetise the throughput.

Toast

Vertical SaaS at deep integration

Restaurant-only, deeply integrated payments. Vertical focus meant they could ship features restaurants actually needed, at prices restaurants could afford. Outcome: $12B+ market cap.

Stripe

Payments first, everything else eventually

Started as payment API for developers. Expanded into banking-as-a-service, capital, issuing, billing, tax, atlas (incorporation). Private valuation: $70B+. Long-term thinking on the product line.

All four companies made the same core bet: own the primary workflow, then monetise the adjacent value pools. Payments is the highest-value adjacent pool in commerce; that's why every one of them ended up there. OgaHQ's path is the same.

08 · Launch plan

Beta50, then Nigeria, then the continent.

Great launches are boring. There is no launch day; there is a launch curve — a shape of adoption over months. What we control is the shape. We start narrow (the Balogun 10), widen slowly (50 more), then broaden regionally (500 across Nigeria) before crossing borders.

8.1Launch philosophy

Two things every launch fails to internalise: speed of learning matters more than speed of growth, and concentration matters more than volume.

Airbnb hit 1,000 listings in New York by knocking on doors. Not because there were only listings in New York — but because concentrated launches let feedback loop tighten. We do the same. Balogun corridor. Then Ikeja. Then Abuja. Then Accra. Never launching in 10 cities at once.

8.2Pre-launch (Months −2 to 0)

-8w
Merchant interviews. 30-40 interviews with target-persona traders in Balogun. Feedback informs final MVP scope.
-6w
Landing page + waitlist. Simple, clear, WhatsApp-native. Signup captures phone number + business type + location.
-4w
Alpha with 5 friends of team. Real trader friends onboarding. Zero-friction feedback. Fix everything they trip over.
-2w
Balogun 10 selected. Personal outreach in market. Free 6-month subscription in exchange for structured weekly feedback.
-1w
In-person onboarding. BRM visits each merchant. Sets up device. Trains. Sits with them for first day.

8.3Launch (Months 0-3)

The Balogun 10 becomes the Balogun 50. Then the Lagos 500.

M0
Balogun 10 live. Intensive weekly BRM check-ins. Product iterations shipped weekly based on merchant feedback. First case studies emerge.
M1
Expand to Balogun 50. Word-of-mouth from initial cohort brings referrals. Refine onboarding to be self-serve for merchants without full BRM touch.
M2
Ikeja + Idumota. Second and third Lagos markets. First case study published — merchant story + measurable outcomes (time saved, books balanced).
M3
Lagos 500. Cross-market, still Lagos. Product-led growth mechanics turned on: WhatsApp referral bonus (see §09).

8.4Post-launch scaling (Months 3-12)

M4
Abuja & Port Harcourt. Second and third Nigerian cities. BRM playbook now repeatable, hire 2 more BRMs.
M6
OgaPay live. Payment reconciliation goes live. This is a mini-launch on its own — dedicated marketing push around "the invoice that pays itself."
M8
500 paying merchants. First fundraise (or bridge) if unit economics need supplementation. Product roadmap enters Phase 3 planning.
M10
Ghana launch. Accra + Kumasi. Playbook adapted for cedi + Ghanaian payment providers (MTN MoMo primary here).
M12
1,000+ merchants across 2 countries. Series A conversation begins.

8.5Geographic rollout — the tempo

MarketTimingPayment integrationRationale
LagosM0Paystack + FlutterwaveDensest market, highest smartphone penetration, founder-network access.
AbujaM4SameGovernment + services concentration. Higher-value merchants.
Port HarcourtM4-5SameRegional third city with distinct economy.
KanoM6SameNorthern Nigeria beachhead. Hausa language support essential.
AccraM10+ MTN MoMo, ExpressPaySecond country. Similar market dynamics, different rails.
NairobiM15+ M-Pesa DarajaEast African beachhead. Payment landscape entirely different.
JohannesburgYear 2+ Peach Payments, OzowSA market has more mature retail SaaS competition — enter later with proven playbook.
GEOGRAPHIC ROLLOUT · YEAR-BY-YEAR EXPANSION Year 1 Nigeria only Lagos Abuja Port Harcourt Kano 2,000 merchants Year 2 + Ghana + Kenya Accra Kumasi Nairobi Mombasa 10,000 merchants Year 3 + SA + Tanzania Johannesburg Cape Town Dar es Salaam 25,000 merchants Years 4-5 Pan-African footprint · Abidjan (Côte d'Ivoire) · Kigali (Rwanda) · Kampala (Uganda) · Douala (Cameroon) · Addis Ababa (Ethiopia) · Dakar (Senegal) 75,000 merchants
One country at a time. Deep before wide. The same pattern Paystack, Flutterwave, and MTN MoMo all used.

8.6Narrative & PR strategy

The story we tell:

50 million African businesses run on paper notebooks and WhatsApp groups. We are building the operating system that replaces both.

Where we tell it, in order:

  1. Twitter / X. Founder builds in public. Weekly threads on lessons learned. Merchant testimonials with video.
  2. YouTube shorts. Demo videos of the actual product. "60 seconds to record a sale." "Send an invoice with QR + bank ref via WhatsApp." Real merchant stories.
  3. African tech press. TechCabal, Techpoint Africa, Techcabal Rest of World coverage aligned with launch milestones.
  4. International tech press. Rest of World, TechCrunch African fintech coverage after Series A traction.
  5. Podcast circuit. African founders podcasts. Longer-form storytelling about the "why."

8.7Partnership launches

Each partnership launch is its own mini-launch with dedicated marketing:

  • Paystack integration launch — joint blog post, co-marketed webinar, cross-promoted to Paystack's merchant base.
  • MTN Business partnership — bundled offering to MTN Business SIM subscribers, in-store activation in MTN service centres.
  • African Retail Academy pilot cohort — jointly onboarded merchants, co-authored case studies, curriculum integration.
  • Chamber of Commerce alliances — LCCI Lagos, AGI Ghana, KNCCI Kenya. Endorsed provider status.
09 · User acquisition

Where the merchants actually come from.

Every African fintech that scaled did so through three channels: field agents, peer referral, and partnerships. Digital marketing is a distant fourth. This section builds the acquisition engine around what actually works in this market, not what looks good in a pitch deck.

9.1Channel mix

Target channel mix by end of Year 1:

Channel% of signups Y1Estimated CACComment
Field Business Relationship Managers40%$18-25The core. Trust wins in African markets.
WhatsApp / peer referral30%$3-8Cheapest channel. Compounds with usage.
Partnerships (payments, telcos, ARA)15%$8-15Bundled, endorsed, or co-marketed.
Content & organic (blog, Twitter, YouTube)10%$5-12 (blended)Slow build. Compounds over years.
Paid social (Meta, Google)5%$25-50Expensive per lead in African markets. Optional.

9.2Field BRM playbook — the trust channel

This is how Paystack acquired its early merchants. It is how Prokip acquired its early merchants. It is how M-Pesa built its agent network. Human trust wins.

Who a BRM is. A locally-hired sales rep with a smartphone, comfortable in market environments, ideally fluent in the local trading language (Yoruba, Hausa, Igbo, Twi, Swahili). Compensation: base salary + per-activated-merchant commission + retention bonus after 90 days.

The daily routine.

  1. 8 AM — Team standup. Review yesterday's activations. Plan today's market.
  2. 9 AM-12 PM — Market walkabout. Cold visits. Live demos on merchant's own phone. Instant signup.
  3. 12-1 PM — Break. Follow-up calls / WhatsApp messages to yesterday's leads.
  4. 1 PM-4 PM — Onboarding visits. Sit with new merchants during their first day.
  5. 4-6 PM — Existing merchant check-ins. Answer questions. Log friction to product team.
  6. 6 PM — Day log into CRM. Metrics: visits, live demos, signups, activations.

Targets. A single BRM should onboard 15-20 merchants per week after ramp. Assuming 60% still active at Day 30, that's 8-12 net weekly. At 4 BRMs by Month 6, we generate 100-150 net new active merchants per month via this channel alone.

The BRM tooling. A merchant-BRM app for logging visits, tracking prospects, running live demos, and closing accounts on the spot. Integrated with the main OgaHQ backend so activations register instantly.

9.3WhatsApp referral programme — the viral channel

Every merchant on OgaHQ has other merchants in their contact list. Every merchant messages other merchants regularly. This is the viral surface.

Mechanics.

  • Every merchant gets a unique referral code embedded in their WhatsApp invitation link.
  • Referrer gets one month free Business tier for each merchant who signs up and activates (records first sale within 7 days).
  • Referee gets one month free Business tier at signup — starts on the paid tier's features immediately.
  • Referrer can accumulate months up to 12 (a year free).

WhatsApp-native distribution. "Share via WhatsApp" is the primary sharing button. The invitation message is pre-written, includes a video demo, and can be forwarded to a group.

Referral leaderboard. Public leaderboard of top referrers per market. Social proof + gamification. Top referrer per quarter gets a physical trophy delivered to their shop (this is a $50 marketing spend that becomes a Twitter photo worth $5,000 of earned media).

Expected performance. If 30% of merchants refer at least one other merchant, and referral conversion is 40%, and activation of referred merchants is 60%, then every 10 merchants generates 0.72 additional merchants over their first 6 months. That's a k-factor of 0.72 — not yet viral (need k > 1), but a powerful amplifier of the paid channels.

9.4Partnership channel

Three types of partnerships, each with different mechanics:

Distribution partners

Telcos, banks, industry associations

MTN Business, Airtel Business, LCCI, AGI. They have merchant relationships already. We become an endorsed provider. Bundled onto their SIM or bank offerings. Rev-share on Business tier subscriptions.

Technology partners

Payments, logistics, hardware

Paystack, Flutterwave, MTN MoMo (payment). Sendbox, Kobo360 (logistics). BluePad, Sunmi (hardware). Co-marketing, joint case studies, integration announcements.

Educational partners

African Retail Academy + accelerators

Curriculum integration, workshops, pilot cohorts. Longer-term ecosystem play — every trained retailer graduates already using OgaHQ.

Referral partners

Accountants, business consultants

Nigerian accountants managing small business books. Business consultants advising SMEs. They already have the trust; we give them a tool to recommend + a revenue share.

9.5Content & organic

Content is a slow compounding channel. We start Month 3, expecting first traction by Month 12.

  • Blog. Weekly. Practical "how to run your shop better" content, not thinly-veiled product pitches. E.g.: "5 signs your inventory is out of control," "How to reconcile mobile-money payments across 3 apps."
  • Twitter / X. Founder-led. Building in public. Weekly threads on merchant lessons. Product screenshots. Feature launches.
  • YouTube shorts + Instagram Reels. 60-second product demos. Merchant testimonials. Real workflows. This is where our target merchants actually watch content.
  • Podcast appearances. Founder guest slots on African tech podcasts. Longer-form for early-adopter audiences.

9.6Paid channels

Deliberately deprioritised. CAC via Meta Ads for African SMEs is $30-50+, far higher than our field or referral channels. Paid is used for:

  • Retargeting. Waitlist signups who didn't activate get re-engaged via Meta or WhatsApp.
  • Feature-launch amplification. When OgaPay launches, paid ads amplify the announcement for 2 weeks.
  • Geographic launches. When we enter a new city, a targeted 2-week paid campaign creates awareness.

9.7Conversion funnel

Every channel feeds into the same funnel. What we optimise is each stage:

StageDefinitionY1 target
Awareness → InterestLanding page visit or WhatsApp inquiry200,000 visits
Interest → SignupAccount created20,000 signups (10% conversion)
Signup → ActivationFirst sale recorded within 7 days10,000 activated (50% conversion)
Activation → PaidUpgraded to Business tier1,500 paid (15% conversion by Month 12)
Paid → RetainedStill paid at Day 901,275 retained (85% retention)
CONVERSION FUNNEL · YEAR 1 Awareness · 200,000 Landing page visit Signup · 20,000 (10%) Account created Activated · 10,000 (50%) First sale in 7 days Paid · 1,500 (15%) Business tier Retained · 1,275 (85%) Day 90 & beyond
Every stage has a dedicated intervention. Every drop-off is measurable and fixable. The full economic engine of Year 1.

Each stage has a dedicated intervention:

  • Awareness → Interest: compelling landing page + WhatsApp CTA that reduces friction to first message.
  • Interest → Signup: minimal signup form (name + phone + business type). Continue in WhatsApp if preferred.
  • Signup → Activation: in-app onboarding wizard + WhatsApp check-in from BRM on Day 1 and Day 3.
  • Activation → Paid: free tier caps hit + Business tier value framed in currency (revenue insight, credit tracking).
  • Paid → Retained: feature-usage tracking; if a paid feature isn't being used, proactive outreach to demonstrate.
10 · Growth plan

Loops, not funnels.

Funnel thinking eventually breaks down. Growth loops don't — each customer produces the next customer, or generates more value from the existing customers, or unlocks a new segment. This section describes the loops we're building.

10.1The primary growth loop

OgaHQ's flywheel:

THE PRIMARY GROWTH LOOP OgaHQ flywheel 1 · Merchant runs shop Ships sales, reconciliations, receipts 2 · Customer receives Receipt / invoice on WhatsApp 3 · Customer becomes merchant Sees OgaHQ · signs up own business 4 · Merchant refers merchant Referral programme + word of mouth
Every merchant creates more merchants — via their customers being exposed to OgaHQ receipts + via direct WhatsApp referral. The loop compounds.

10.2Retention mechanics

Growth without retention is a leaky bucket. What keeps merchants on OgaHQ:

  1. Books balance every night. Once a merchant experiences 30 days of end-of-day peace, going back to the notebook is unthinkable.
  2. Credit tracking. Once customers are in the CRM with real running balances, migrating to another tool means re-entering all customer data. High switching cost.
  3. Historical data. After 90 days of use, merchants have year-over-year comparisons, seasonal patterns, top-customer insights. This is data they wouldn't have without OgaHQ.
  4. WhatsApp intimacy. Once a merchant is using WhatsApp voice notes to run their business, the muscle memory alone is retention.
  5. Staff onboarded. Cashiers trained, muscle memory built, permission grids configured. Changing systems means retraining all staff.
  6. Customer awareness. Customers know the merchant sends OgaHQ invoices. Changing tools breaks that habit on both sides.

10.3Expansion revenue

Growth from within existing customers. Higher net revenue retention (> 110%) is the sign of a healthy commerce platform.

  • Tier upgrade. Starter → Business → Pro. Priced to encourage upgrade as the merchant grows. Automatic prompts when caps are hit.
  • OgaPay attach. Payment margin (~0.3-0.5% on transactions) adds meaningful revenue per merchant using OgaPay.
  • Adding branches / users. Pro tier expands with the merchant's business. Multi-branch pricing.
  • AI add-ons (Phase 3). Bulk cataloguing, ad copy generation, WhatsApp broadcast campaigns — priced per use or as a monthly add-on.
  • Integrations marketplace (Year 3+). Third-party integrations (logistics, accountants, marketing tools) generate small margin.

10.4Geographic expansion — the tempo

African expansion pattern learned from Paystack, Flutterwave, and MTN MoMo: one country at a time, deep before wide.

YearCountriesMerchant target
Y1Nigeria only2,000 merchants
Y2Nigeria + Ghana + Kenya10,000 merchants
Y3+ South Africa + Tanzania25,000 merchants
Y4-5+ Ivory Coast, Rwanda, Uganda, Cameroon, Ethiopia75,000 merchants

10.5Product expansion — the Stripe path

The Stripe playbook, adapted for African SMEs. Start with one product; expand into adjacent value pools.

  1. Year 1: Operations OS.
  2. Year 2: Payments (OgaPay).
  3. Year 3: WhatsApp interface + AI features (Phase 3).
  4. Year 4: Working-capital credit (via partner lender initially).
  5. Year 5: Insurance (health, business, cash-in-transit — via partners).
  6. Year 5+: Marketplace / cross-selling between merchants.
  7. Optional: OgaKit — platform play for other B2B SaaS to embed our WhatsApp/agent layer.

10.6Network effects

OgaHQ isn't a pure network-effect business, but it has three subtle network characteristics that compound:

  1. Merchant-to-merchant referral (per §09.3). Each merchant creates on average 0.7 more merchants over the first six months.
  2. Merchant-to-customer exposure. Every WhatsApp receipt or invoice sent to a customer is a mini-marketing impression. A merchant with 200 customers per month distributes 200 OgaHQ-branded messages.
  3. Data effect. Reconciliation data compounds across merchants — richer signals for AI recommendations, better fraud detection, more accurate credit underwriting (future).

10.7Long-term moat

Three things build a defensible moat over years:

  1. Reconciliation data. No competitor has ground-truth cash-flow data on tens of thousands of African merchants. This is the foundation for underwriting credit, insurance, and marketplace features that would take a competitor 3+ years to accumulate.
  2. Brand + trust. Financial data is sacred. Once a merchant trusts OgaHQ with their books, they don't switch casually. Compound this over 3 years and OgaHQ becomes as sticky as their bank.
  3. Ecosystem depth. By Year 3, the app + partners + accountants + BRM network + educational partnerships form a full ecosystem. A competitor building comparable ecosystem takes years.
What this all adds up to

By Year 5, OgaHQ is the default operating layer for African SMEs in 5-8 countries, with 75,000+ merchants, an ecosystem of accountants and BRMs, deep reconciliation data, and payment margin plus lending exposure. Whether we exit or IPO or stay independent is a Year-5 conversation. What we're planning to build here is worth being asked that question.

One-line close

The category is being decided this decade.

Payments got its African moment. Logistics is having its moment. Retail operations — the layer where every naira, cedi, and shilling gets counted — has no winner yet. There's a five-year window before someone claims it.

This document is the plan to be that someone.

Frank Enendu
Founder, OgaHQ
frank.enendu@ogahq.app · ogahq.app · ara.ogahq.app/strategy