Concept

Secret Santa Shuffle

A ranked-choice Secret Santa generator. Everyone ranks their preferences, the algorithm does the rest. Fairer gift exchanges, backed by math.

ReactTypeScriptNext.jsAlgorithmsTailwind CSS

Traditional Secret Santa is pure random chance. You might get matched with someone you know well and have great gift ideas for — or you might draw the one person you've barely spoken to. Secret Santa Shuffle fixes this.

Before the draw, everyone secretly ranks who they'd most like to give a gift to. The matching algorithm then finds an assignment where everyone gives to someone near the top of their list. It's a classic assignment problem from computer science, applied to holiday cheer.

The result: everyone feels good about who they're giving to, gifts are more thoughtful, and nobody gets stuck in that awkward "I have no idea what to get this person" situation.

How It Works

1

Create a group

Set up your Secret Santa exchange and invite participants with a shareable link.

2

Everyone ranks

Each person privately ranks who they'd most like to give a gift to. Rankings are secret.

3

The algorithm runs

The matching algorithm finds the optimal assignment that maximizes everyone's preferences.

4

Reveal matches

Each person gets notified of who they're giving to. No one sees anyone else's match.

Features

Ranked Preferences

Everyone ranks who they'd most like to give a gift to. No more dreading a random match you have no ideas for.

Optimal Matching

The algorithm finds the assignment that maximizes everyone's happiness. Math-backed fairness.

Exclusion Rules

Partners, roommates, people who had each other last year — set rules for who can't be matched together.

Group Management

Create a group, invite participants via link, and manage the whole exchange in one place.

Status

This project is currently in the concept/design phase. The matching algorithm is sketched out and the UI is being designed. Goal is to have it ready well before the holiday season. Stay tuned!