It is easy to build software that looks great on a demo laptop over office wifi. It is much harder to build software that still works on a mid-range Android phone, on mobile data, in a shop with three bars of signal. That second version is the one that gets used.
Design for the real device
Most of our users reach for a phone first, so we build mobile-first and keep pages light. Fewer heavy images, less JavaScript, and layouts that reflow cleanly on a small screen. A page that loads in two seconds on 3G beats a beautiful one that never finishes.
Payments where they live
Card-first checkout flows quietly exclude most customers here. We treat MTN MoMo and Airtel Money as first-class, posting payments straight to the record so nobody rekeys a transaction at the end of the day.
Fail gracefully
Connections drop. Good software expects it: queue the action, confirm when the network returns, and never lose a sale because a request timed out. Building for the real world is not a constraint, it is the whole job.