All work

Case study: Enterprise Tooling Android POS, Mobile SDK, Web Console

Architecting the mobile POS app and white-label plug-in behind BankBox for Partners

Architecting the Android POS app and the white-label mobile plug-in for BankBox for Partners, the platform that lets banks and payment aggregators assign terminals to their merchants, set fees and track performance, while contributing to the overall product direction.

BankBox Partner Console marketing card: collection balance with a bar chart of disbursements.
Role
Mobile Architect contributing to product direction
Company
RavenPay
Stage
Launched
Team
2 product designers, 2 web engineers, 3 backend engineers, 3 mobile engineers, with Finance, Compliance and Partnerships
Platform
Web console, Android POS terminal app, mobile plug-in
Pillars proven
Mobile architecture · Delivery automation · Product direction

TL;DR

Problem
Partners distributing BankBox terminals went through Raven Operations by email and spreadsheet to assign devices and change fees. It was slow and error-prone, and it capped how fast partners could grow.
What I did
Architected the white-label plug-in and the POS app release pipeline, led the mobile engineers, and contributed to product direction, including the console scope and the fee model with Finance.
Result
Terminal assignment went from 3 days to under 10 minutes, 9 partners onboarded in 6 months, and Operations tickets from partners fell 70%.

Context

BankBox is Raven’s POS terminal for merchants. Growth depended on partners (banks, aggregators and agent networks) who bring merchants and terminals to market under their own relationships.

The problem

For partners

  • Assigning or reassigning a terminal took 2 to 3 days of back-and-forth.
  • Partners couldn’t set their own merchant fees or device prices, so they couldn’t build a business on top of BankBox.
  • They had no live view of merchant performance or transaction volume.

For Raven

  • Operations headcount grew with every partner, which didn’t scale.
  • Manual fee changes caused billing errors and disputes.

Evidence6 partner discovery sessions; 300 Operations tickets per month from partners; 3 partners delayed signing because of manual onboarding.

The insight that changed the direction: Partners wanted control and a revenue line, while Raven needed oversight of devices, pricing and compliance. The product had to give both.

My role

I owned the mobile architecture of the POS app and the plug-in from design to launch and led the mobile engineers who built them. I also contributed to product direction alongside Partnerships, Finance and the design team.

  1. 1

    Architected the white-label plug-in

    Partner name, logo, welcome message and brand colour load at runtime, so a new partner needs no app rebuild.

  2. 2

    Set up the POS app release pipeline

    Staged over-the-air rollouts by partner group, with automatic halt on error spikes.

  3. 3

    Shaped the multi-tenant model with backend

    Partner → merchants → terminals, with role-based access and tenant isolation that both the POS app and plug-in rely on.

  4. 4

    Contributed to product discovery

    Took part in sessions with 6 partner organisations and helped map three users: the partner’s executive, their operations staff and their merchants.

  5. 5

    Helped define the console scope

    Overview, merchants, terminals, fee details, bank-switch requests, settlement, audit trails and compliance.

  6. 6

    Worked with Finance on the fee model

    Partners set merchant fees and device prices within a Raven floor and ceiling.

  7. 7

    Specified audit trails and role access

    With Compliance from day one.

Key decisions and trade-offs

DecisionWhyWhat we gave up
Self-serve terminal assignment, with approval for new device requestsPartners wanted speed; Raven needed oversight of device stockOne approval step for new devices
Fee and price guardrails (floor and ceiling)Partners earn a margin; Raven protects pricing and complianceFull pricing freedom for partners
Runtime white-label config instead of a build per partnerOne codebase; new partner branding in minutesDeep custom layouts per partner
Console on web first, partner mobile app laterPartner operations teams work at desksNo mobile console at launch
Audit trail in v1, not laterRegulated payments and fee disputes need a full historyAbout 2 weeks of extra build time

How it was built

Plug-in
A lightweight SDK that partners embed; branding and feature toggles are fetched from the console at runtime.
POS delivery
The terminal app ships through a CI pipeline with staged rollouts by partner cohort and automatic rollback.
Quality
Automated tenant-isolation tests, contract tests on fee calculations, and regression tests on the POS app before every rollout.
Architecture
A multi-tenant model (partner → merchants → terminals) with role-based access and strict tenant isolation, so one partner can never see another’s data.

Raven: oversight

Device stock · fee floor and ceiling · audit trail · compliance

Partner A

Roles · merchant fees and device prices within bounds · branding

MerchantTerminalTerminal
MerchantTerminal

Partner B

Strict tenant isolation: never sees Partner A’s data

MerchantTerminal

White-label plug-in. The partner’s app embeds a lightweight SDK. Branding (name, logo, welcome message, colour) and feature toggles are fetched from the console at runtime, so a new partner needs no rebuild.

The multi-tenant model: partner → merchants → terminals, with role-based access inside each tenant.

Terminals

Assign terminal
TerminalMerchantStatusThis month
BBX-20417Mama Put Kitchen, YabaActive₦2,418,300
BBX-20418Ola Pharmacy, IkejaActive₦1,092,750
BBX-20431UnassignedIn stock—

Merchant fee

Raven floor 0.50%Your fee 0.75%Raven ceiling 1.00%

Recreated console with dummy data: terminal assignment and the fee guardrail. Not Raven’s production UI.

Results

  • 3 days → under 10 min

    Time to assign a terminal

    At launchMy team’s work

  • 9

    Partners onboarded

    6 months after launchProduct-level, with Partnerships

  • −70%

    Operations tickets from partners

    Quarter after launchMy team’s work

  • 2 weeks → under 1 hour

    Time to brand the plug-in for a new partner

    At launchMy team’s work

Blue: my team’s work. Black: feature- or product-level, shared with others.

Reflection

What I’d do differently

Ship reporting and exports earlier. Partners asked for downloadable merchant performance reports in their first week.

What it taught me

A partner product has three customers. The executive signs the deal, but the partner’s operations person decides if it gets used, so design for them.

Contact

Have a product that needs to ship well?

I’m open to global roles leading product, mobile engineering, or both. Email is the fastest way to reach me.