A native mobile purchase experience that reduced checkout friction, unlocked a new revenue channel, and brought course upgrades directly into the edX iOS and Android apps.
Mobile learners on edX could discover courses, enroll, and learn inside the app, but they could not complete a paid course upgrade natively. To purchase, they had to leave the app, open a browser, sign in again, and complete a multi-step web checkout.
For a platform with millions of mobile learners, this created a clear gap between mobile intent and mobile revenue. Learners were showing interest on mobile, but the purchase path introduced too much friction at the most important moment. The opportunity was to bring the payment experience into the app and reduce the path from upgrade intent to payment to as few taps as possible.
Before committing to full development, we first tested the hypothesis through a painted door experiment. The goal was to understand whether learners would show meaningful intent to upgrade from inside the app if the option was presented in the learning experience. The experiment showed positive purchase intent, giving us enough confidence to move forward.
I led the product definition for both iOS and Android, working across mobile engineering, payments infrastructure, and the edX commerce platform. The implementation used Apple App Store and Google Play in-app purchase checkout flows, which meant designing around each platform's rules for digital content, purchase handling, refunds, entitlements, and review approval.
One of the biggest constraints was catalog scale. edX.org had a large and constantly changing course library, so creating a separate store product for every course was not a scalable path. We shifted to using consumable products on the mobile stores, allowing the app to support thousands of course upgrades without requiring a one-to-one mapping between every edX course and a dedicated store product.
I also partnered with the data team to define conversion and revenue tracking from the start, so we could attribute mobile purchases correctly from launch rather than retrofitting analytics later.
This was not just a checkout feature. It sat at the intersection of mobile UX, platform compliance, commerce infrastructure, and business model constraints.
The biggest complexity came from adapting edX's existing web-first commerce system to work within Apple and Google's in-app purchase rules. We had to ensure that the mobile purchase flow could handle successful payments, failed transactions, refunds, entitlement activation, and edge cases without breaking the learner experience.
The second layer was scale. edX had thousands of eligible courses, which meant the solution could not rely on manually configuring every course as a separate product in the app stores. The consumable product strategy allowed us to make in-app payments work across a large course catalog while keeping the system operationally manageable.
The third challenge was measurement. Since this was a new mobile revenue channel, we needed the analytics foundation to be reliable from day one — defining the right events, revenue attribution, and conversion tracking before launch so the business could clearly understand the impact.
In-app payments launched across 3,000+ courses on both iOS and Android.
The feature created a new mobile revenue stream and generated over $700,000 in its first year. More importantly, it turned the mobile app from a learning-only surface into a meaningful monetization channel for edX.
This was a clear example of product work where the value was measurable: we validated learner intent, solved for platform and catalog complexity, reduced checkout friction, and unlocked revenue that previously could not be captured inside the app.