The problem
A trading academy was selling memberships the way most small businesses in Ghana still do: a customer sends Mobile Money, screenshots the receipt, messages it over, and waits for somebody to check it and let them in. That works until it doesn't. It puts a human in the middle of every single sale, it breaks at night and on weekends, and every minute between "I paid" and "I'm in" is a minute the customer is wondering whether they've been scammed.
The brief was to turn that into a product: take the money, verify it, and grant access automatically — reliably enough that nobody has to babysit it.
Payments that actually unlock the product
This is the part most sites skip, and it's the part that matters. CoffieFX takes two kinds of payment, and both end in the same place:
- Mobile Money via Hubtel — the payment method people in Ghana actually use, handled through Hubtel's hosted checkout.
- Crypto via NOWPayments — locked to a single asset and network on purpose, so nobody sends funds down a chain that can't be reconciled.
When a payment confirms, a server-side webhook verifies it and fulfils the order: the member's plan is set and their access opens immediately. The webhook checks the amount against what was actually owed, and it's idempotent — a provider that retries the same notification three times (they all do) can't grant three memberships or double-charge anybody.
Accounts, plans and keeping paid content paid
Members get a 7-day free trial and then move onto a paid plan. Each plan unlocks a different slice of the product, so the entitlement logic has to be right in one place and enforced on the server — not just hidden in the UI.
- Supabase Auth with Row-Level Security, so the database itself refuses to hand one member another member's data.
- Single-session login — one account can't be shared around a WhatsApp group.
- Email-domain guarding on signup, which catches the typo'd domains that otherwise turn into support tickets and undeliverable mail.
- Video lessons gated by plan, with a watermark overlay carrying the viewer's identity so a leaked recording can be traced back.
The VIP Telegram channel works slightly differently, and deliberately so: a paid member requests access in-app, and an admin approves and issues the invite from the admin panel. Automating that step was possible, but the owner wanted a human eye on who joins the private channel — so the product respects that instead of overriding it.
The rest of the platform
- A live signals dashboard members trade from each session.
- An education area, market news, calendar and analytics.
- An in-app AI assistant that answers platform and trading-terminology questions.
- An admin panel for members, plans, VIP requests and payment reconciliation.
- A full French translation alongside English, for the wider West African audience.
What this one proves
Anyone can build a landing page. The hard part of a business web app is the money path — taking a real payment from a real payment provider, proving it happened, and changing what a user is allowed to do as a result, without a human in the loop and without leaving a hole someone can walk through. CoffieFX does that in production today, in a market where Mobile Money is the default.