Image coming soon

2024

edX In-App Payments

# CompanyedX
# RoleProduct Manager
# PlatformiOS & Android

Native in-app purchases that turned the edX mobile apps into a $700K+ revenue channel in year one.

I led product definition for in-app payments on iOS and Android at edX, working across mobile engineering, payments infrastructure, and the commerce platform to bring course upgrades natively into the app, validated first, then built and launched across thousands of courses.

Role

Product lead

Launch

3,000+ courses

Year 1 revenue

$700K+

The Challenge

A purchase path that sent mobile intent somewhere else

Mobile learners could discover courses, enroll, and learn inside the edX app, but they couldn’t complete a paid upgrade without leaving it. Buying meant exiting to a browser, signing in again, and working through a multi-step web checkout.

For a platform with millions of mobile learners, that gap mattered: people were showing purchase intent on mobile, and the app was routing it away at exactly the moment it needed to hold on to it.

Bring the payment experience into the app, and get from upgrade intent to purchase in as few taps as possible.

Web checkoutNative in-app purchase
Placeholder: the old path left the app, signed learners in again, and finished on a web checkout. The new path completed the upgrade without ever leaving the course.

Approach

Validating intent before building anything

Painted door test

Surfaced the upgrade option inside the learning experience to see if learners would engage with it at all.

Positive signal

The experiment showed meaningful purchase intent from mobile learners, enough to justify real investment.

Native build greenlit

Moved forward with a full native in-app purchase implementation for iOS and Android.

Leading product across two platforms and three systems

I owned product definition for both iOS and Android, working across mobile engineering, payments infrastructure, and the edX commerce platform. The build ran through Apple App Store and Google Play’s in-app purchase checkout flows, which meant designing around each platform’s rules for digital content, purchase handling, refunds, entitlements, and review approval.

  • Defined the purchase flow, entitlement logic, and failure states with engineering and commerce, so a failed or refunded payment never left a learner stuck mid-course
  • Shaped the post-purchase experience so an upgrade felt instant and confirmed, not just “payment received”
  • Partnered with the data team from the start to define conversion and revenue tracking, so mobile purchases were attributed correctly at launch instead of retrofitted after
Image coming soon
Placeholder: iOS App Store purchase sheet for a course upgrade.
Image coming soon
Placeholder: Android Play Store purchase sheet for a course upgrade.

The constraint that shaped everything

Thousands of courses, not one store product at a time

edX.org’s course library was large and constantly changing, so creating a dedicated App Store or Play Store product for every course wasn’t a scalable path.

We shifted the strategy to consumable products on the mobile stores, letting the app support thousands of course upgrades without a one-to-one mapping between every edX course and a dedicated store product.

Image coming soon
Placeholder: diagram of the consumable-product model mapping store purchases to thousands of edX courses.

What made it complex

Not just a checkout feature

01

Platform compliance

Adapting edX’s web-first commerce system to Apple and Google’s in-app purchase rules, so payments, failures, refunds, and entitlement activation all worked without breaking the learner experience.

02

Catalog scale

Thousands of eligible courses meant the solution couldn’t rely on manually configuring every course as its own store product. The consumable-product strategy kept it operationally manageable at that scale.

03

Measurement

A new revenue channel needed reliable analytics from day one, so we defined events, revenue attribution, and conversion tracking before launch, not after.

Outcome

A new, measurable revenue channel

In-app payments launched across 3,000+ courses on both iOS and Android.

The feature generated over $700,000 in its first year, and turned the mobile app from a learning-only surface into a real monetization channel for edX.

$700K+

Revenue generated in the first year

3,000+

Courses enabled for native in-app purchase

iOS + Android

Launched natively across both platforms

A clear example of product work where the value was measurable: validated learner intent, solved for platform and catalog complexity, cut checkout friction, and unlocked revenue the app couldn’t capture before.