Lunchup is a tool to randomly generate lunchtime meetup groups withing a larger organization. Lunchup takes into account any number of "cohort" groups, weighting its output to mix up those cohorts as much as possible.
npm install -g lunchup
lunchup SIZE [CSV ...]
Lunchup takes all input CSVs (including STDIN) of names to Cohorts, emitting a new CSV of names to groups. With no Cohort data, this list is simply randomized.
For example, given the input:
Schoon, 200Dave, 200Jim, 100Larry, 400Fred, 300Stephen, 300
You might see the following:
> lunchup 3 in.csvDave,0Larry,0Fred,0Schoon,1Stephen,1Jim,1
lunchup is a tool you use repeatedly with the same input data, you can
feed previous results into
> lunchup 3 in.csv > week_1.csv> lunchup 3 in.csv week_1.csv > week_2.csv
Or, more succinctly:
> ls | xargs -n 1 echo | sort -r -f # (Figure out today's week number)> lunchup 3 *.csv > week_n.csv