Mpay: The Future of Global Payments
2025
End-to-end design of MAJORITY* Pay, built from zero to replace Zelle after they restricted fintech access. What started as a domestic peer-to-peer payment feature evolved into a global, borderless, instant crypto-payment ecosystem.
*MAJORITY is an all-in-one mobile banking membership built to give migrants and international communities accessible banking, low-cost money transfers, and affordable global communication.
Key decisions along the way
Zelle was a major part of how money came into MAJORITY. Replacing it meant solving both halves, money in and money out, on a deadline set by someone else.
Money in first, then money out. Payment requests to non-members shipped first, so members could keep getting paid. Paying anyone followed, built into the MPay flow members already knew: picking a contact who isn’t a member now lets you pay them, instead of showing a referral screen.
Speed over completeness, on purpose. To launch before Zelle shut down, the first version let people create payment links but not cancel them. Since funds were held until a link was claimed, links expired after 24 hours so money was never stuck for long. Cancelling came in the next release, and the expiry could be relaxed.
Small frictions, removed. Contacts saved without a country code didn’t show up as MPay options. The app now shows every contact, asks for the missing prefix once, and offers to fix the number in the address book.
One place for getting paid. “Pay anyone” and “Payment request” had grown up as separate features in different parts of the app. They were brought together in one Payment Hub with a personal QR code and link, and every request, sent or received, in one list.
Global without new rules to learn. Going global meant four payment scenarios between US members, global members and people without an account. Each looks like a normal MPay. When a payment becomes an invite, the sender is told up front, and the link gives the recipient five days to join. Payments from the US to global members are remittances behind the scenes, so the exchange rate is shown, and the terms only appear the first time.

Flow

Phase 1: Building the Foundation
The challenge: How do you replace a household name like Zelle without losing user trust?
This feature didn't exist in the app before, so I was starting from zero. I worked with the banking team to map the happy and unhappy paths, making sure the design gave our existing users a way to move money with the same trust and ease they were used to. That meant designing for continuity first: the goal was to make people keep sending money without losing the confidence they already had. Familiar first, then generous, became the idea behind the whole product.
Requirements were clear, and the timeline was tight: get to market fast. I focused on getting the UX right, benchmarked against products already on the market, and brought forward a few directions for stakeholders to react to rather than over-polishing one option upfront. Once we landed on a direction, I moved into visual design and worked with the product marketing lead on communication guidelines, figuring out how we'd talk about this new feature without alarming a user base that was losing a service they trusted.
A-side
Phase 2: Grow It
MPay only worked if both sender and recipient were members, which capped the addressable network from day one. The business wanted a “Pay Everyone” feature: send money to any phone number, and the recipient claims it through a Visa-integrated website with no app download, for a small fee. We paired this with dynamic QR codes and personalized payment links, turning ordinary transactions into social referrals.
The idea was that every payment to a non-member could also work as an acquisition moment, not just a transaction. So the claim flow needed to feel like unwrapping a gift, not hitting a paywall. Users should feel "I got money" before they're asked to pay a fee or download the app.
This also pushed the design beyond the app for the first time. Since non-members had no app to open, I designed a full web experience for claiming and sending payments, extending the product outside its original in-app boundaries.

Phase 3: Global Scale + Crypto Integration
To scale internationally, we integrated Global Wallets, letting users in selected countries hold a dollar balance (see Global Wallet). The core problem was merging traditional banking, or fiat, with modern settlement, or crypto, without asking the average user to understand either. Most users don't want to think about currency mechanics — they just want to know their money is safe and it'll arrive. This moved the feature from a peer-to-peer replacement into a global remittance rail.