Some time ago I was asked if I could build, as a side-project, a tool for people selection which could be used for a recurring company event called Mystery Lunch.
The idea was to be able to create groups of 4 people (one group per week) and make sure that people in the company were equally distributed into these groups. This process was previously done manually but it was annoying and most importantly: it was not really random.
Therefore the idea was to have a tool taking care of this process.
This small idea eventually became a tool called Mystery Machine.
The randomization is pretty simple, the concept is to avoid close repetitions as much as possible. The app is not saving any data, the list is updated by the client and lost when the browser is closed / refreshed.
If the requested n. of groups is bigger than the available data, team members will be repeated.