Re-thinking scheduling


Re-thinking scheduling

Currently, there is an issue with how learners are being scheduled with coaches. The system is called lesson request. When a learner schedules for a lesson, it is not guaranteed that they will be matched with a coach they desire or a match at all. To mitigate this negative experience our internal team and admins of our clients would manually fill out lesson requests to meet expectations. We needed to re-think the way we scheduled lessons.

For the purpose of this portfolio, I will only be covering the first effort release. Changes in the first release include, direct scheduling in the registration and coach selection tool in the calendar page.


The Challenge

The current lesson request system does not support our promise to, “match you with a coach who knows exactly what you need”. It operates on the assumption that any coach can teach any lesson. If a coach rejects a lesson that has no impact on the learner’s experience, then the system assumes that any coach is equally as qualified for the learner. Which is incorrect.

My Role

I led the design of the Schedule Revamp. The first release was focused on correcting the scheduling UX/UI on registration and was released on June 18th, 2019. This project was collaborated with engineers, product managers, coaches, and learners to build the best scheduling experience.

Why Should We Solve It?

Scheduling is currently a huge friction point for both coaches and learners. It is also a source of significant complexity inside our systems. The current system prevents learners from finding out which coach will be teaching their lessons. It makes matching less valuable, as even if we match with the best coach,coaches can still not accept the lesson. It prevents us from giving learners agency in matching, i.e., if a learner wants a specific coach we cannot guarantee a system match. When a lesson is not “matched” our admin would need to manually schedule and match a coach/ lesson for the learner.. This was not only unnecessary but a waste of a resource.

Old registration scheduling asks for the skills you want to work on and the times you are available and that was all. Matching would take up to 24 hours and learners would know nothing about who their coach is.

Old registration scheduling asks for the skills you want to work on and the times you are available and that was all. Matching would take up to 24 hours and learners would know nothing about who their coach is.


Research: Qualitative Interviews

User research was quintessential. The complex workflows and their interactions with one another needed to be laid out in detail. In order to achieve this, I gathered from the end-users to understand the challenges they faced.

“Very difficult to get the right coach at first. I tried maybe two or three coach to really nail down on the coach I am working with now. It will be helpful to be able to choose our own coach and at the same time see their profile so I know what I am getting into”

- Participant 1

“I want to be able to see when the coach is available for a lesson from registration. Being able to choose which coach and what time to take the first lesson will soften the friction long term.”

- Participant 2

“I see the effort of matching what we might like, but the matching can be inaccurate. I think it is always nicer to have options in front of you so you can make the judgement yourself. I can see how having this option can potentially cause learners to keep changing coaches.”

- Participant 3


Research: User Psychographic Profile

The research revealed how users would use the app differently and what “flexibility in scheduling” meant for them. To cater to this, I categorized them into two learner profiles and one coach profile based on their goals.

Group 5.jpg
Group 5.jpg
Group 5.jpg

Key Features:

Coach selection:

  • Learner Choice: The system will pick out a ranked list of coaches for learners to choose from, and display this list to the learner. They selecta coach. Then we will show the learner the availability and have them set up the first lesson time.

  • Search: Learners can search for coaches by name, and as long as they are an eligible match they will appear (if they are not eligible, we will show the result, but state they cannot be matched at this time). They pick a coach. Then the learner will be able to see the coach’s availability and decide on a first lesson time.

Coach eligibility:

  • Eligibility comes in 2 forms: for scheduling and for matching.

  • Eligible for scheduling (seeing their availability and selecting it):

    • The learner must have had at least 1 lesson scheduled with that coach already

    • The learner must not have “opted-out” of this coach (said they didn’t want them anymore)

    • If it’s a learner asking for eligibility, the coach is only eligible if they have open availability in the future

  • Eligible for Matching:

    • The learner must not have been matched to this coach before (scheduled any lessons with that coach)

    • There must be at least 1 lesson worth of overlap between the learner’s requested times and the coach’s availability

    • The coach is “accepting new learners” (either via opt-in or opt-out, to be determined).

Single lessons:

  • Learners can “directly schedule” with eligible coaches via. coach availability

  • Coaches can “directly schedule” with learners if they are eligible, and can schedule any time except when they have existing lessons.

Rescheduling lessons:

  • If within 6 hours of the lesson, the learner can no longer reschedule but must cancel and add a new one (“you will be charged for this” message will be received by the learner).

  • Learner will be asked to fill out a “reasons” of rescheduling. Keeping the coach informed and transparent.

  • Outside of 6 hours, rescheduling follows the normal single lesson scheduling.

Release #1. Scheduling revamp in registration

Release #1. Scheduling revamp in registration


Coach choice

Learners are now able to select the days they are available to take lessons. We require three days minimum for an ultimate match but learners are allowed more than three.

In this step, they can also select what skill set they want to work on. The system will take into account their decision and choose the best coach for the learner's needs.

If a learner knows which coach they want to work with (For example if another learner introduced an excellent coach to them). They can put down their name and email address for a direct match.



Things happen! Rescheduling and canceling are inevitable. Before the update, learners would need to email the coach to explain why they are scheduling or canceling the lesson. By putting in a “note” section, we allow the learner to be transparent with the coach and it also eliminates email creation.


Coach selection based on learner filter

Once the learner has provided us with their availability, a desired skill set , and the name of the coach: they will be presented with a five coach match. If they are not satisfied with the first five coach profile they can refresh the search to get new sets of five coaches.

Screenshot from 2019-08-14 15-49-26.png


On May 20 we had 349 cases of admin-manual scheduling lessons. After the coach selection tool was released, our admin manual scheduling went down to 77 cases. In August, we reduced unnecessary admin scheduling down to 7 cases. We reduced admin-manual scheduling down by 78%. In just three months, we had a 50x reduction in manual scheduling.

Since the implementation of the coach selection tool, we were able to convert the first lesson completion rate. This tool is by far the most impactful tool. It has boosted highest completion rate, week after week. It's the only time we've hit ≥80% of completed first lessons (not canceled or unaccepted). +6 weeks in a row of 0 unaccepted first lessons (never been done before either).