This is a quick and dirty tool that I (Paul Gowder) banged out to match my students into "virtual study groups" in order to do peer discussion exercises/think-pair-share/etc. virtually while the campus is closed due to coronavirus. It's meant to replicate a casual "go talk to your neighbors about X and then report back" classroom technique.
The code asks for three things from you: (1) a list of student names (or email addresses, or nicknames, or whatever), one per line, in the text box, (2) a number for the size of groups you want (e.g., groups of 2 students, groups of 3 students), and (3) what to do if the number of students doesn't divide evenly into the group size, namely, (a) create a few groups that have one extra student, or (b) make a smaller group with the leftover people. It will then generate a list of groups suitable to paste into an e-mail or whatever.
THIS WEBPAGE DOES NOT COLLECT ANY DATA. It is a pure "client-side" micro-application. This means that it never talks to any server, except when you first load the page, and does not send the list of students anywhere. It just does a little bit of random matching using javascript in the browser which is running on your own computer. Hence, it doesn't compromise student privacy. If you read javascript, you can verify this claim by looking at the html for this page, plus randomize.js, which is the only javascript file referenced in the html. I have deliberately left the code for this in as readable a state as possible to make this readily verifiable.
List of students goes here, one per line
Number of students per group:
What to do when the number of students doesn't evenly divide into the number of students per group?
Output below, one group per line: