Coffee roulette that runs itself —
without ever repeating a pairing
Most coffee roulette tools pair people randomly. CoffeeMatch's unique algorithm mathematically minimises repeats — across rounds, across months, across your entire group history. Even when your team members change.
Set up in 10 minutes. Runs itself after that.
Create a group and share the join link
Name your group and set how often matches should run. Then share your group's join link — forward it to a distribution list, drop it in Slack, or send it directly.
Everyone joins with one click
Each person clicks the join link, picks their own matching frequency — weekly, fortnightly, monthly — and sets up their profile once. No logins to manage, no spreadsheet to maintain.
It pairs and emails automatically
On schedule, CoffeeMatch analyses the full pairing history, generates the best possible matches, and emails everyone. You get a pre-drafted announcement to share with your team — your name on it, zero effort.
Every round, the system finds the freshest pairing it can.
Each time a round runs, CoffeeMatch checks the full history and prioritises pairings that haven't happened before. The bigger the group, the longer the rotation stays genuinely fresh.
This holds even as people join or leave. A new member gets introduced to people the existing members have already met. Someone returning from leave picks up exactly where their history left off. Once everyone has met everyone else, the cycle starts again.
If you're the person left out of a round (odd-numbered groups), CoffeeMatch tracks that too — and gives you priority next time. Nobody gets left out twice in a row.
8-person group · 4 rounds · no pair repeats
Every pair across all 4 rounds is unique. History accumulates indefinitely — new members slot in without resetting it.
What you stop doing the week you switch
| Task | Spreadsheet | CoffeeMatch |
|---|---|---|
| Check who met last time (and the time before) | 45 min / round | Automatic |
| Avoid pairing the same two people again | Manual scan | Tracked forever |
| Email 40 people their match | 80 manual emails | One cron job |
| Run the rota while you're on holiday | It stops | Keeps running |
| Let members opt-in themselves | You add them manually | Signed invite link |
| Honour different match frequencies per person | Separate spreadsheets | Per-member setting |
| Know if the meeting actually happened | Ask individually | One-click confirm |
| Keep your name on the initiative | Yes | Yes — pre-drafted for you |
Everything no one else thought of
The operational details that make the difference between coffee roulette that runs for three months and one that runs for three years.
Each member sets their own cadence
The group runs on one schedule. Each member independently chooses weekly, monthly, or quarterly — and only gets matched on their own cycle. A weekly member and a monthly member coexist in the same group without any admin involvement.
Handles a changing team
People join, go on leave, change frequency, come back. The pairing history doesn't reset — it grows. A returning member picks up where they left off. New joiners get introduced to people the rest of the group has already met.
Email-first, platform-agnostic
Works entirely over email. No Slack required, no Teams required, no app to install. If your company migrates tools, CoffeeMatch keeps working — it was never wired to any platform's permissions in the first place.
You keep the credit
Before each round, you get a pre-drafted message to share in your team channel — your name on it, ready to personalise. CoffeeMatch handles the individual emails; you handle the team moment. No one knows it's automated unless you tell them.
Set up a team in 60 seconds
Create your group in the app, then share the join link — forward it to your distribution list, drop it in Slack, paste it wherever your team is. Each person clicks to join themselves.
Org-verified without SSO
Lock a group to your company domain — only @yourcompany.com emails can join. No SSO integration, no procurement. Corporate HR teams can deploy this without involving IT.
The spreadsheet organiser's problem with automation
Most people running coffee roulette manually don't want to be replaced. They want the overhead removed while keeping the credit. CoffeeMatch is built around this.
3 days before each round — Pre-match note
You get a short, pre-drafted message to drop into Slack (or your team channel): "Round 8 is running on Friday — if you want to join or update your frequency, here's the link." Members who see it can adjust before the match cuts. You look organised. You wrote nothing.
After the match — Post-round announcement
You get a formatted summary: "Round 8 complete — 19 pairs matched." Plus the full pair list, ready to paste into Slack. Members get their individual emails directly from CoffeeMatch — but the team announcement comes from you. "Check your inbox for your match! Round 8 is live. — Alex"
Works without you too
You go on holiday. The match runs. Every pair gets their email. When you come back, you see the post-match summary and can send the announcement retrospectively. The rota doesn't die — it just waits for you to put your name on it again.
Built properly
HMAC-signed email links
All action links in emails are cryptographically signed. Gmail SafeLinks and Outlook scanners can't trigger unsubscribes or feedback events by prefetching them.
SHA-256 invite tokens
Join tokens are hashed before storage. Leaking the database doesn't reveal valid invite URLs.
No duplicate rounds
Distributed mutex locks prevent concurrent cron runs from creating double-matches. Your group never gets two rounds on the same day.
Rate-limited APIs
All join, invite, and API flows are rate-limited per IP. Public groups can't be flooded with fake signups.
The spreadsheet served you well. It's done its job.
One group is free — no trial period, no credit card. If you've been running coffee roulette manually, you can have it automated by the end of today.
Create a free group in the app — share the join link with your team or distribution list, and matching starts automatically.