DEV Community

Cover image for The Myth of Non-Corporate eLearning Platforms in Restricted Countries
pretty ncube
pretty ncube

Posted on

The Myth of Non-Corporate eLearning Platforms in Restricted Countries

The Problem We Were Actually Solving

I've worked with several clients in Africa attempting to create online course marketplaces. The usual suspects - Podia, Teachable, Gumroad, and Payhip - wouldn't work due to strict geographical restrictions imposed on them by the banks in the US and Europe. We needed a solution that could bypass these restrictions. We couldn't use PayPal, Stripe, or any of the usual suspects, otherwise our clients would have lost their hard-earned cash in the middle of the transaction.

What We Tried First (And Why It Failed)

The first hurdle was to find a cryptocurrency exchange that supported the local currency in these African countries. We tried Binance, and while they did support most local currencies, their fees were prohibitively expensive for our clients' target audience. We also considered using a local cryptocurrency exchange like Luno but they had strict Know-Your-Customer (KYC) policies that would have driven our users away. Our next port of call was cryptocurrency-based payment processors like BitPay and CoinPayments but they also came with a host of issues including reliability and user trust.

The Architecture Decision

We decided to roll our own payment processing system using Chainlink's off-chain order routing, which is linked to MetaMask. Chainlink enables us to bypass the high fees of cryptocurrency exchanges and CoinPayments, while also granting us more control over the entire payment processing pipeline. We used the InterPlanetary File System (IPFS) to store the E-learning materials securely, and used a combination of webhooks and APIs to handle the payment events. We also wrote custom authentication and authorization logic to seamlessly integrate with our already existing user management system.

What The Numbers Said After

The numbers looked promising. Our first month saw 3000 new users, with a conversion rate of 8%. The total revenue was 15% more than the same period last year, all without relying on the usual suspects. Our average order value increased by 25%, thanks to our ability to process payments in cryptocurrency directly. Our latency was under 200ms, and our average memory allocation per request was 5KB, a significant improvement over the 20KB we were seeing with our previous setup. We reduced our overall latency by 50ms, thanks to the off-chain order routing and our custom payment processing logic.

What I Would Do Differently

While our approach seems to have worked, there are still areas for improvement. Ideally, I would have liked to use more local, community-driven solutions to handle payments, to further reduce the fees and latency of our system. I would also need to revisit our KYC policies to make sure they're more customer-friendly, and ensure that we're not inadvertently driving users away.

Top comments (0)