Add to Discord
Now live across 1,000+ Discord servers

Schedule your squad.
No chaos. No friction.

MatchUp is a reaction-based availability bot for Discord — built for teams who need to stop arguing about time zones and start playing.

See how it works ↓
M
MatchUp
Today at 14:00 · BOT
📅 Tue 03/06/2025 — Part 1/1
🇦  20:00 18:00 for you
🇧  21:00 19:00 for you
🇨  22:00 20:00 for you
🇦 4 🇧 7 🇨 3 1
Why MatchUp

Scheduling is a solved problem.
Your team just doesn't know it yet.

You ask your team, "Who's available next week?", and nobody replies. You create a bunch of polls for each day, but this is quite an annoying and time-intense thing to do. You create a spreadsheet, but spreadsheets get out of sync. That's why I built MatchUp. MatchUp lives where your team already is — inside Discord — so nothing falls through the cracks.

THE OLD WAY

External links nobody clicks

Doodle, When2meet, Google Forms — you share a link in Discord, half the team never opens it, you chase people for a week, someone's timezone is wrong anyway.

THE OLD WAY

Spreadsheets that go stale

Someone edits the wrong cell. Someone forgets to convert to UTC. Someone fills in their local time with no timezone. You end up with five people showing up at different hours.

THE MATCHUP WAY

React, done. MatchUp handles the rest.

A poll appears in your Discord channel. Your team reacts with emoji. MatchUp counts the votes, shows everyone the time in their own zone, and tells you the winning slot — no links, no tabs, no chasing.

Simple by design

Up and running in three steps

1
Setup · one-time

Run /setup — your server is ready

A guided wizard walks your server manager through setting a default timezone and assigning poll manager roles. Takes under a minute.

MatchUp Setup Wizard
Step 1/3 Default timezone → Europe/London ✓
Step 2/3 Manager roles → @Captains, @Admins ✓
Step 3/3 System channel → #announcements ✓
✅ MatchUp is configured. Run /poll create to start.
2
Collect votes · automatic

Your squad reacts. Results update instantly.

Members click emoji reactions in the poll embed — no commands, no forms, no links. MatchUp listens and updates results in real time. Non-responders get automatic DM reminders before the deadline.

A
B
C
18:00 · 7 free
D
E
18:30 · 2 free
A
B
C
D
E
19:00 ⭐ 9 free
F
19:30 · 1 free
3
Export · one click

Lock results. Export to calendar.

Close the poll with /poll close and MatchUp posts the final results embed. One click on Export .ics gives you a calendar file — drop it into Google Calendar, Apple Calendar, or Outlook instantly.

weekend-scrim.ics
works with Google Calendar Apple Calendar Outlook
Everything you need

More than a poll.
A full scheduling toolkit.

From the first vote to a locked-in event on everyone's calendar.

Everyone sees their own time zone

Every slot is posted as a native Discord timestamp, so each member sees the time in their local zone automatically. No conversions, no "wait, is that my time or yours?", no one showing up an hour late.

same slot · three members
🇺🇸 New York8:00 PM
🇬🇧 London1:00 AM
🇯🇵 Tokyo10:00 AM

Instant Results

Run /results any time to see the winning slot and who's free — updated live as people react. No waiting, no manual counting.

Automatic Best Slot

Set a minimum player count and MatchUp highlights the winning time the moment enough people are free — so you always know when to lock it in.

Automatic Reminders

People who haven't voted get a friendly nudge before the deadline — automatically. No more chasing your squad one by one. They can opt out any time by reacting ❌.

One-Click to Calendar

Turn the winning slot into a Discord Scheduled Event or download an .ics file for Google/Apple Calendar — straight from the results, one click.

Spot Clashes Early

Running two events? /conflicts compares two polls and flags overlapping times before they collide — so you never double-book your team.

Every command, fully documented

Everything runs through Discord slash commands — no bots to configure, no dashboards to log into.

Stop losing scrims
to bad scheduling.

MatchUp lives entirely inside Discord — no app to install, no external site to visit.

Create an account to unlock the full feature set.

Add MatchUp to Discord Join Support Server
✓ Free tier available ✓ No credit card to start ✓ Set up in under a minute ✓ Premium plans coming soon
Dashboard
Add to Discord
Now live across 1,000+ Discord servers

Schedule your squad.
No chaos. No friction.

MatchUp is a DST-aware, reaction-based availability bot for Discord — built for esports teams who need to stop arguing about timezones and start playing.

M
MatchUp
Today at 14:00 · BOT
📅 Tue 03/06/2025 — Part 1/1
🇦  20:00 18:00 for you
🇧  21:00 19:00 for you
🇨  22:00 20:00 for you
🇦 4 🇧 7 🇨 3 1
Why MatchUp

Scheduling is a solved problem.
Your team just doesn't know it yet.

You ask your team, "Who's available next week?", and nobody replies. You create a bunch of polls for each day, but this is quite an annoying and time-intense thing to do. You create a spreadsheet, but spreadsheets get out of sync. That's why I built MatchUp. MatchUp lives where your team already is — inside Discord — so nothing falls through the cracks.

THE OLD WAY

External links nobody clicks

Doodle, When2meet, Google Forms — you share a link in Discord, half the team never opens it, you chase people for a week, someone's timezone is wrong anyway.

THE OLD WAY

Spreadsheets that go stale

Someone edits the wrong cell. Someone forgets to convert to UTC. Someone fills in their local time with no timezone. You end up with five people showing up at different hours.

THE MATCHUP WAY

React, done. MatchUp handles the rest.

A poll appears in your Discord channel. Your team reacts with emoji. MatchUp tracks votes in real UTC, handles DST automatically, and tells you the winning slot — no links, no tabs, no chasing.

Real-world use cases

Built for every kind of
scheduling nightmare

Three scenarios. One bot. Zero spreadsheets.

Scenario A

The Global Gaming Community

Your captain is in New York. Half your squad is in London. Your star player just moved to Tokyo. Someone always shows up at the wrong time.

MatchUp converts every slot into a native Discord timestamp — so every member sees the exact time in their own timezone, automatically. No conversions. No mistakes.

NYC Tuesday, 8:00 PM EST → captain sets poll
LDN Tuesday, 1:00 AM GMT → London sees this
TYO Wednesday, 10:00 AM JST → Tokyo sees this
DISCORD RENDERS FOR EACH USER
🇦  Tuesday slot
<t:1748988000:t>
Renders as:
🇺🇸 New York 8:00 PM
🇬🇧 London 1:00 AM
🇯🇵 Tokyo 10:00 AM
🇦🇺 Sydney 12:00 PM
✓ Discord handles all timezone math automatically. Every user sees their local time — no manual conversion ever needed.
Scenario B

The Recurring Esports Scrim

You need to schedule across a full week, with 15-minute slot granularity, for a 20-person roster — while Discord limits reactions per message to 20. Other bots crash. MatchUp doesn't.

Multi-page embeds split automatically. Each page holds up to 19 time slots. A serialised API queue fires reactions one-by-one at exactly the right pace — no rate-limit bans, ever.

/poll create name:Week5 start:monday end:sunday min_players:5 interval:15
→ 7 days × up to 37 slots each · auto-paged · all reactions added in order
API CALL PIPELINE (100ms gap per call)
10 req/sec · well under Discord's 50/sec global cap · zero 429s, zero blacklisting.
Scenario C

Daylight Savings Chaos

You schedule a tournament match for Sunday 1:30 AM BST. You don't know that's the night the UK clocks spring forward — that time literally doesn't exist.

MatchUp's DST classifier checks every slot before it's shown. Gap slots are silently skipped. Fold slots (where time repeats) are flagged with a warning directly in the embed. Your bracket never breaks.

OK 00:00 BST → exists, shown normally
GAP 01:30 BST → doesn't exist, skipped
FOLD 01:00 GMT → occurs twice, flagged ⚠️
OK 02:00 BST → exists, shown normally
EMBED PREVIEW · Sun 30 Mar 2025 · Europe/London
🇦 00:00 for you
🇧 00:30 for you
01:00 GAP — skipped
01:30 GAP — skipped
🇨 01:00 FOLD — ambiguous
🇩 02:00 for you
Simple by design

Up and running in three steps

1
Setup · one-time

Run /setup — your server is ready

A guided wizard walks your server manager through setting a default timezone and assigning poll manager roles. Takes under a minute.

MatchUp Setup Wizard
Step 1/3 Default timezone → Europe/London ✓
Step 2/3 Manager roles → @Captains, @Admins ✓
Step 3/3 System channel → #announcements ✓
✅ MatchUp is configured. Run /poll create to start.
2
Collect votes · automatic

Your squad reacts. Results update instantly.

Members click emoji reactions in the poll embed — no commands, no forms, no links. MatchUp listens and updates results in real time. Non-responders get automatic DM reminders before the deadline.

A
B
C
18:00 · 7 free
D
E
18:30 · 2 free
A
B
C
D
E
19:00 ⭐ 9 free
F
19:30 · 1 free
3
Export · one click

Lock results. Export to calendar.

Close the poll with /poll close and MatchUp posts the final results embed. One click on Export .ics gives you a calendar file — drop it into Google Calendar, Apple Calendar, or Outlook instantly.

weekend-scrim.ics
works with Google Calendar Apple Calendar Outlook
Built for the long game

Reliability you can
actually depend on

The engineering underneath is overbuilt on purpose — so you never think about it.

Bulletproof Uptime

Global error guards catch every unexpected crash before it can take the bot offline. Errors are logged, the owner is notified via DM, and the bot keeps running — even through Discord API hiccups.

process error guard running

Zero Rate-Limit Lockouts

A serialised API queue enforces a 100ms gap between every Discord call — 10 requests per second, safely below Discord's 50/sec cap. Even with 500 members voting simultaneously, you'll never see a 429 error.

Instant Response Times

Reactions are cached directly in the database as they happen. /results never re-scans Discord — it reads from cache instantly, so closed polls return in milliseconds.

Smart Reminder DMs

Non-responders get automatic DMs X hours before the deadline — or X hours after the poll posts. Members can opt out by reacting ❌. Reminders respect role and user targeting so only the right people are nudged.

Export & Sync

Export winning slots as .ics calendar files or convert them directly into Discord Scheduled Events — all from the results view, with one click.

Auto-Backup Every 30 Min

Full database snapshots posted to a private Discord channel every 30 minutes. One-command restore gets you back to any prior state — poll data is never truly lost.

Conflict Detection

/conflicts poll_a poll_b compares two polls in real UTC — even across different poll timezones — to find clashes before they ruin your bracket.

Every command, fully documented

Everything runs through Discord slash commands — no bots to configure, no dashboards to log into.

Stop losing scrims
to bad scheduling.

MatchUp lives entirely inside Discord — no app to install, no external site to visit.

Create an account to unlock the full feature set.

Add MatchUp to Discord Join Support Server
✓ Free tier available ✓ No credit card to start ✓ 99.9% uptime SLA ✓ Premium plans coming soon