Managing a Queue of Learners

More than 200 people will have taken RStudio instructor training by the end of this year. Unlike many courses, participants don’t sign up for a specific class at a fixed time; instead, they apply to take part and we then arrange times to accommodate as many of them as we can.

At present, we are using a home-brewed mix of Google Forms and scripts to track who wants what kind of training, when they are going to get it, when they actually did take part (if they have), what happened afterward, and whether or not they have paid us. We’d like to use an off-the-shelf solution, but have explored and ruled out several possibilities:

  1. Storing information in a CRM like Salesforce. These are contacts, and it allows us to define workflows that people move through, but (a) seats are expensive and (b) it doesn’t help us manage facts like “Jane Bloggs has completed two exams but still needs to do a third”.

  2. An LMS like Blackboard or Lessonly. Most of what they provide is irrelevant to our needs—we aren’t handing out grades—and they also don’t manage queues of registrants. It also looks like we’d have to write our own glue to connect the information from the application form to the LMS’s database.

  3. Event management systems like Eventbrite and Cvent seem the closest fit, but so far I haven’t figured out how to get them to manage application queues and post-event workflows.


  1. All information storage is GDPR compliant.
  2. The system can manage queues for several different kinds of training.
  3. People can apply for training without having to create YAFA (yet another account).
  4. We can customize the information we collect from people when they apply, and that information feeds directly into a database we can easily query and integrate.
  5. We can set up particular training events and offer spots to specific people, who can then accept or decline. If they decline, they remain in queue.
  6. We can mark people as “no longer interested” so that we don’t bother them again.
  7. We can mark people as having completed specific trainings or tasks (i.e., exams).
  8. We can search by various criteria, e.g., “Who has done the teaching course but hasn’t yet completed the tidyverse exam?”
  9. It’s easy to integrate the tool with invoicing systems so that people can be invoiced when they get a spot without any information having to be copied manually from one system to another.

So: what’s out there?

In the wake of posts about Shopify's support for white nationalists and DataCamp's attempts to cover up sexual harassment
I have had to disable comments on this blog. Please email me if you'd like to get in touch.