1. Home
  2. /Work
  3. /CoffieFX

A membership platform that takes Mobile Money and unlocks itself.

CoffieFX is a live trading-signals academy in Accra. Members pay with Mobile Money or crypto, and the platform grants their access the moment the payment confirms — no admin, no waiting, no manual approvals at 2am.

Next.js 16React 19 Supabase · RLSHubtel · MoMo NOWPaymentsVercel
Visit coffiefx.com →

Project

Membership web app

Client

The Coffiefx Trading Academy, Accra

My role

Solo — design, build, payments, deploy

Status

Live and taking real payments

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:

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.

The webhook fails closed. If the signing secret is missing or wrong, it rejects the request rather than trusting it — an unsigned "payment confirmed" callback is exactly how you'd rob a platform like this.

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.

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

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.

CoffieFX homepage with a live FX price ticker across the top
Homepage — live FX ticker across the top
CoffieFX membership plan cards showing what each tier includes
Plans — each tier unlocks a different slice
CoffieFX live market section with performance stat cards
Live market section
CoffieFX member navigation drawer: education, calendar, market news, analytics, community, billing, profile
Member area navigation
CoffieFX in-app AI trading assistant answering member questions
In-app AI assistant

Want the same thing for your business?

If you're taking Mobile Money by screenshot today, this is the upgrade. Tell me what you're selling and I'll tell you what it takes.

More work

Mobile app

SwiftDrop — delivery & errands

React Native, live map tracking, a full rider side with verified handover.

Data tool

Chat With Your Data

Ask a plain-English question, get a real number back.