Secret Santa
A derangement-based matching algorithm for fair, constraint-free gift exchanges
Add participants, hit generate, and the algorithm shuffles everyone into a valid derangement — a permutation where nobody draws their own name. Each match is hidden behind a reveal button so you can pass the screen around without spoiling anyone's assignment.
Try it yourself
Built with
TypeScript
Derangement Algorithm
CSS Animations