From Lagos to Nairobi to Mumbai, the payment, identity, and tax plumbing differs. The product logic should not have to.

Build for one market and you can hard-code its assumptions: one currency, one payment provider, one identity check, one tax rule. Build for many — Lagos, Nairobi, Accra, Mumbai, and beyond — and those assumptions become the enemy. The work is to separate what stays the same from what must vary.

One spine

The commercial logic is universal: a customer expresses intent, a record is created, a payment is verified, an outcome is proven, memory is updated. That spine does not change between markets. It is the part worth standardising hard.

Standardise the spine. Localise the plumbing.

Local rails

What changes is the plumbing: payment rails differ by country, identity anchors differ, languages differ, tax and invoicing rules differ, and data-protection regimes differ. Avirt treats each as a pluggable adapter behind a stable interface, so adding a market is a configuration problem, not a rewrite.

Currency is the visible edge

The simplest example is the one on this very site: prices and amounts render in the visitor’s local currency. It is a small thing to see and a useful proof of the larger principle — the spine is global, the experience is local.