ADPList

2024

Rebuilding booking for recurring revenue

Rebuilding booking for recurring revenue

I turned free mentorship into ADPList's first mentorship revenue: $50K+ in 90 days, then $100K in bookings every quarter. No-shows fell from 10% to 1%.

I turned free mentorship into ADPList's first mentorship revenue: $50K+ in 90 days, then $100K in bookings every quarter. No-shows fell from 10% to 1%.

Role

Design lead. Owned strategy, product, design, metrics and rollout. No PM.

Timeline

10 weeks across 3 releases • Jan 2024

Live • Shipped

Role

Design lead. Owned strategy, product, design, metrics and rollout. No PM.

Timeline

10 weeks across 3 releases • Jan 2024

Live • Shipped

Overview

Our best mentorships were already paid, just not on ADPList

Our best mentorships were already paid, just not on ADPList

ADPList is a global platform where 300K+ people book free calls with design and tech mentors. It had never made money from mentorship. Leadership wanted a revenue stream, and retention was slipping. Meanwhile mentors put coaching links in their profiles, and support tickets asked how to get paid or meet the same mentee every week. The platform could host a first call. It couldn't sustain a continuous relationship. Get it wrong and the free community walks. Do nothing and the best mentors keep leaving.

I built booking for ongoing mentorship first, then put payment on top.

The result: mentors earned $50K+ in the first 90 days, and ADPList's 10% cut became its first mentorship revenue. Paid recurring grew to $100K in bookings a quarter, on a booking system ADPList still runs on.

Problem

Every layer of booking assumed one call

The data model. One session type per mentor, and no rebooking while a booking was open. A series wasn't something the system could represent.

The workflow. The only way to schedule multiple calls was instant booking, and it was high effort. Most mentors skipped it and moved mentees to their own calendars.

The incentives. Free calls carried no stakes. Even our most reliable mentors saw 10% end in a no-show.

Why it mattered to the business: the most valuable sessions, repeat ones with the same mentor, were the ones we couldn't see, measure or charge for. Pricing the one-off call would have monetised the least valuable part of the product.

The booking flow was built for one call. Nothing on these screens let a mentee commit to a mentor over time.

Alignment

How I broke a two-year deadlock

The demand was obvious. The project still sat on the roadmap for two years.

Why it stalled? Engineering had just come out of a long refactor, and paid mentorship looked like another one. On paper it was simple: put a price on sessions. Underneath, booking only knew one-off calls, and paid needed recurring sessions, payouts and refunds.

The shortcut I blocked. The proposal on the table was a price on existing calls, with no free option. The community team and I pushed back. Without free, ADPList stops being ADPList. Without the infrastructure, paid mentorship breaks on day one.

What changed the answer. I stopped pitching the project and changed its shape. I trained the whole company to interview mentors and mentees, wrote the guide, and let them hear it. I cut the project into three releases small enough to ship in weeks, and planned them with engineering.

The interview guide I wrote so anyone at the company could run a research call.

The demand was obvious. The project still sat on the roadmap for two years.

Why it stalled? Engineering had just come out of a long refactor, and paid mentorship looked like another one. On paper it was simple: put a price on sessions. Underneath, booking only knew one-off calls, and paid needed recurring sessions, payouts and refunds.

The shortcut I blocked. The proposal on the table was a price on existing calls, with no free option. The community team and I pushed back. Without free, ADPList stops being ADPList. Without the infrastructure, paid mentorship breaks on day one.

What changed the answer. I stopped pitching the project and changed its shape. I trained the whole company to interview mentors and mentees, wrote the guide, and let them hear it. I cut the project into three releases small enough to ship in weeks, and planned them with engineering.

The interview guide I wrote so anyone at the company could run a research call.

Research

The interviews that changed the company's mind

Conviction doesn't transfer through a deck. It transfers through exposure. 80+ interviews later, the company had a two-sided picture no single team had seen: mentees ready to pay for continuity, and mentors who wanted to charge but doubted they should.

80+ interviews, sorted into six root causes. The pattern across them: when mentorship worked, it moved off the platform.

― What I learned

  • Mentees would pay, for an outcome. Not for a single call.

  • Mentees didn't rebook. They assumed a second ask wasn't welcome.

  • Recurring was too hard for mentors. Instant booking was the only way to schedule a series, so they took mentees off-platform.

  • Mentors wanted to charge, but doubted their worth. Imposter syndrome, no pricing benchmark, and fear of losing on price.

  • Mentors wouldn't give up free. Most of their mentees were entry-level and couldn't pay.

  • Mentors wanted a free intro call before any money changed hands.

  • Mentors wanted ADPList to set the bar, and to lose paid access if they fell short.

The bet: give people a way to continue, and make continuing cost something. Commitment would filter for quality on both sides.

Conviction doesn't transfer through a deck. It transfers through exposure. 80+ interviews later, the company had a two-sided picture no single team had seen: mentees ready to pay for continuity, and mentors who wanted to charge but doubted they should.

80+ interviews, sorted into six root causes. The pattern across them: when mentorship worked, it moved off the platform.

― What I learned

  • Mentees would pay, for an outcome. Not for a single call.

  • Mentees didn't rebook. They assumed a second ask wasn't welcome.

  • Recurring was too hard for mentors. Instant booking was the only way to schedule a series, so they took mentees off-platform.

  • Mentors wanted to charge, but doubted their worth. Imposter syndrome, no pricing benchmark, and fear of losing on price.

  • Mentors wouldn't give up free. Most of their mentees were entry-level and couldn't pay.

  • Mentors wanted a free intro call before any money changed hands.

  • Mentors wanted ADPList to set the bar, and to lose paid access if they fell short.

The bet: give people a way to continue, and make continuing cost something. Commitment would filter for quality on both sides.

Approach

From free to paid in three releases

Shipping recurring sessions and payments together would have been too big a risk for engineering, and too sudden a change for a free community. So I split the work into three releases, and paid came last, after mentors had adopted recurring sessions.

― I sequenced the risk with three checkpoints

Release 1 let a mentor offer more than one session. Engineering planned to refactor booking code built around a single call. After working it through with them, I made the call to rebuild, because recurring and paid would both sit on top of it. Release 2 made booking of recurring sessions possible, still free, since mentees assumed asking again wasn't welcome. 89% of mentors set up at least one recurring session. Release 3 opened paid to 100 mentors who cleared a top-1% bar, all in the US. They already ran free series, so price was the only new variable.

― Recurring and paid became settings, not new products

In Release 1, I made the session type the core unit of setup. Each one had its own rules: public or private, and its own questions for mentees. Global settings covered the rest by default. When recurring and paid came next, they slotted in as two more rules on a session type, with no new flows to design or build. That's why Releases 2 and 3 took weeks, not months.

Mentor setup: one page for every session type.

― I kept free on every paid profile

Mentors asked for this themselves: a free intro call to align expectations before any payment. So every profile that offered paid sessions still showed a free one. A mentee who isn't ready to pay can book a first call with the same mentor, then decide. Free became the way into paid, not something paid replaced.

A free call and a paid series on the same profile. Mentees can try first, then commit.

― I kept one-off calls free and made paid recurring-only

One-off paid sessions would have repeated the same transactional dynamic, just with a price on it. So paid was recurring only, and paid upfront. Mentees would pay more for reliable, long-term results than for uncertain short-term fixes. A relationship arc changed behaviour on both sides: no-shows fell from 10% to 1%.

Mentees pay upfront for the series, charged only once the mentor confirms.

― I put paid behind a search toggle

Paid sessions only show up in search when a mentee switches on the paid toggle. Anyone looking for free mentorship sees the same results as before. The cost: fewer people discover paid, on purpose.

Free search stayed exactly as it was. Paid shows up only for mentees who switch it on.

― I had mentors price from a template, not a blank field

Mentors told us they didn't know what to charge, and doubted they should. Instead of a blank price field, mentors started from a template with the duration, scope and a suggested price already filled in. Going paid didn't start with a pricing exercise.

Mentors start from a template, not a blank price field.

Shipping recurring sessions and payments together would have been too big a risk for engineering, and too sudden a change for a free community. So I split the work into three releases, and paid came last, after mentors had adopted recurring sessions.

― I sequenced the risk with three checkpoints

Release 1 let a mentor offer more than one session. Engineering planned to refactor booking code built around a single call. After working it through with them, I made the call to rebuild, because recurring and paid would both sit on top of it. Release 2 made booking of recurring sessions possible, still free, since mentees assumed asking again wasn't welcome. 89% of mentors set up at least one recurring session. Release 3 opened paid to 100 mentors who cleared a top-1% bar, all in the US. They already ran free series, so price was the only new variable.

― Recurring and paid became settings, not new products

In Release 1, I made the session type the core unit of setup. Each one had its own rules: public or private, and its own questions for mentees. Global settings covered the rest by default. When recurring and paid came next, they slotted in as two more rules on a session type, with no new flows to design or build. That's why Releases 2 and 3 took weeks, not months.

Mentor setup: one page for every session type.

― I kept free on every paid profile

Mentors asked for this themselves: a free intro call to align expectations before any payment. So every profile that offered paid sessions still showed a free one. A mentee who isn't ready to pay can book a first call with the same mentor, then decide. Free became the way into paid, not something paid replaced.

A free call and a paid series on the same profile. Mentees can try first, then commit.

― I kept one-off calls free and made paid recurring-only

One-off paid sessions would have repeated the same transactional dynamic, just with a price on it. So paid was recurring only, and paid upfront. Mentees would pay more for reliable, long-term results than for uncertain short-term fixes. A relationship arc changed behaviour on both sides: no-shows fell from 10% to 1%.

Mentees pay upfront for the series, charged only once the mentor confirms.

― I put paid behind a search toggle

Paid sessions only show up in search when a mentee switches on the paid toggle. Anyone looking for free mentorship sees the same results as before. The cost: fewer people discover paid, on purpose.

Free search stayed exactly as it was. Paid shows up only for mentees who switch it on.

― I had mentors price from a template, not a blank field

Mentors told us they didn't know what to charge, and doubted they should. Instead of a blank price field, mentors started from a template with the duration, scope and a suggested price already filled in. Going paid didn't start with a pricing exercise.

Mentors start from a template, not a blank price field.

Decisions

Three calls I had to defend

― I launched without India, our second-largest mentor base.

Stripe couldn't pay mentors in India or 50+ other countries. Adding Razorpay meant 3 weeks of build plus 4+ weeks of company registration in India. Engineering wanted paid open to every mentor, because screening for the best meant building a new data pipeline.

I made the call to build the pipeline and launch to a beta group. The bar was the top 1% of mentors globally, screened on sessions, tenure, attendance and reviews. The USA, our largest mentor base, gave us 100 mentors who cleared it. That was enough supply to test paid without waiting on India.

Five filters, 100 mentors. Paid launched only with mentors already proven to show up.

― Leadership wanted a 25% cut. I launched at 10%.

25% was above every comparator. Coaching marketplaces take 16 to 20%. Creator platforms like Substack and Gumroad take 10%. A mentor's own booking link costs about 3% in card fees. I argued 25% punished the people supplying the trust and made leaving the smarter option. Leadership agreed to 10%. It matched creator platforms and made staying cheaper than going solo.

Mentors see the 10% cut and what they keep before they publish. No surprises at payout.

― I kept refunds manual

Upfront payment meant refunds when a mentor missed a session. Automating them meant adding to a system already carrying too many bugs. The first version ran refunds by hand through customer support. The cost was support time. The return was real refund volume before anyone automated.

― I launched without India, our second-largest mentor base.

Stripe couldn't pay mentors in India or 50+ other countries. Adding Razorpay meant 3 weeks of build plus 4+ weeks of company registration in India. Engineering wanted paid open to every mentor, because screening for the best meant building a new data pipeline.

I made the call to build the pipeline and launch to a beta group. The bar was the top 1% of mentors globally, screened on sessions, tenure, attendance and reviews. The USA, our largest mentor base, gave us 100 mentors who cleared it. That was enough supply to test paid without waiting on India.

Five filters, 100 mentors. Paid launched only with mentors already proven to show up.

― Leadership wanted a 25% cut. I launched at 10%.

25% was above every comparator. Coaching marketplaces take 16 to 20%. Creator platforms like Substack and Gumroad take 10%. A mentor's own booking link costs about 3% in card fees. I argued 25% punished the people supplying the trust and made leaving the smarter option. Leadership agreed to 10%. It matched creator platforms and made staying cheaper than going solo.

Mentors see the 10% cut and what they keep before they publish. No surprises at payout.

― I kept refunds manual

Upfront payment meant refunds when a mentor missed a session. Automating them meant adding to a system already carrying too many bugs. The first version ran refunds by hand through customer support. The cost was support time. The return was real refund volume before anyone automated.

Impact

Paid reached $100K a quarter. Free bookings held.

― For mentors and mentees

Free bookings held after launch. Paid grew alongside the free community.

After Release 2 put recurring sessions on every profile, mentee retention rose 18% platform-wide.

Retention rose 25% for paid beta mentors in their first 90 days.

The cleanest signal: same mentors, 90 days, and no-shows fell from 10% on their free sessions to 1% on paid.

― For mentors and mentees

Free bookings held after launch. Paid grew alongside the free community.

After Release 2 put recurring sessions on every profile, mentee retention rose 18% platform-wide.

Retention rose 25% for paid beta mentors in their first 90 days.

The cleanest signal: same mentors, 90 days, and no-shows fell from 10% on their free sessions to 1% on paid.

― For the business

Mentorship made ADPList money for the first time: a 10% cut of the $50K+ mentors earned in the first 90 days.

After the beta, paid opened to mentors in every country Stripe supported, while the India launch was built. Paid recurring kept growing, to $100K worth of bookings each quarter.

And the infrastructure outlived the feature: ADPList still runs on the booking system rebuilt for it.

― For the business

Mentorship made ADPList money for the first time: a 10% cut of the $50K+ mentors earned in the first 90 days.

After the beta, paid opened to mentors in every country Stripe supported, while the India launch was built. Paid recurring kept growing, to $100K worth of bookings each quarter.

And the infrastructure outlived the feature: ADPList still runs on the booking system rebuilt for it.

Reflections

What worked

  • Sometimes the basic thing is the stepping stone. More than one session type looked like a minor feature. It was the booking rebuild that recurring and paid sessions ran on. Pitched as one big project, paid sat on the roadmap for two years. Starting with the basic piece got it moving.

  • Let people hear it themselves. My proposal didn't convince the company. Sending everyone to talk to mentors and mentees did.

  • Commitment was the product, not payment. The same mentors stopped missing sessions once a series was paid upfront. The price mattered less than the promise to show up.

What I'd do differently

  • Challenge the refactor instinct earlier. Engineering's first plan was to refactor legacy code we already knew was fragile. Rebuilding was the right call, and I made it. Next time I'd make it before the plan commits to a path.

  • Start the Razorpay conversation on day one. Leaving out India cost us 6 months with our second-largest mentor base. Payouts took 3 weeks of build plus 4+ weeks of registration, and starting while paid sat on the roadmap could have put India in the beta.