Grouper

The automatic grouping PWA that's random without being random. Groups are not randomised but made with a min heap data structure, which selects the least grouped people of specified group size and putting them together.

  • TypeScript
  • React
  • Gatsby
  • PWA
  • JAM-stack

What is it?

Grouper was created in order to have a better randomised grouping website, as we found that current grouping applications are always random. Grouper was created for a teacher to randomise his students but to ensure that students were not in groups with students they had previously been grouped with. The program evolved over time to include numerous new features such as:

The ability to assign group leaders which would attempt to assign a group leader for every group.

The option to have certain group members never be assigned together, (this feature was used in order to assign family members during kirs-kringle over Christmas).

The ability to save groups to CSV or JSON formats.

The option to lock a member so they would not be including into the grouping algorithm, which is useful if that person is absent for any reason.