Ask HN: What's the best way to help 2 people agree on a recurring meeting time?
Context: I'm trying to make online learning more supportive by using synchronous collaboration. People sign up to a course, get a partner assigned, they agree on recurring meeting times, and they meet always at the same time to work on a project (e.g. they build a REST API doing remote pair programming). The "recurring" part is the key since this is what reduces dropouts (i.e. you have a person holding you accountable).
Problem: it's incredibly hard to help two people agree on a recurring meeting schedule when you don't have a large number of users.
Imperfect solution #1: People sign up to a pre-defined schedule (e.g. Tue & Thu 6pm - 9pm). This lacks flexibility and it doesn't work well with multiple time zones.
Imperfect solution #2: You ask people for timezone and how many times per week they want to meet and you assign them to someone in a similar timezone and let them agree on meeting times via email. This requires a lot of back and forth via email, some people are not super responsive, etc. This is very flexible and maximizes the chances of people agreeing on a meeting time.
Imperfect solution #3: People sign up and select meeting preferences (number of days per week, preferred days, preferred times, etc.) and, using an algorithm, you match people with similar preferences. This lacks some flexibility because someone people might be open to times other than the "ideal" ones they have selected. This also works really week with scale, but not so well with less than 100 users per course.
Imperfect solution #3.1: Same as the previous one, but you show users "schedule preferences" of available users so they can select them and they get assigned to that person automatically.
What would you do to maximize the chances of getting two people to agree on recurring meeting times and to reduce the back and forth in the conversation at the same time?