What is Syncworm?
Running a Dune: Imperium tournament means juggling spreadsheets, Discord messages, and manual tracking across weeks of play. Keeping everyone informed, scheduling matches fairly, and avoiding mistakes takes more effort than the games themselves. Syncworm replaces all of that with a single web app.
Syncworm handles the full tournament lifecycle — group draws, match scheduling, result tracking, and bracket progression — so organizers can focus on the games, not the logistics. Every step from player registration to final standings is managed in one place.
For organizers, that means real-time state visible to all players, no manual result tracking, and easy tournament management from any device. Players always know their next match, standings update instantly, and the Discord bot keeps everyone in the loop without extra work.
Key Features
Player availability & scheduling
Enter availability → Auto timezone conversion → Overlap heatmap → Discord timestamp links. Players mark when they can play, the app converts to local timezones, highlights overlapping slots, and generates shareable Discord timestamps.
Live Tournament Tracking
Open matches, current standings, and accurate tournament state — always up to date. Players know exactly where things stand without asking the organizer.
Discord Bot
Connect a Discord channel and the bot watches for result screenshots — scores get entered automatically without any manual work from the organizer.
Format-aware scheduling
Scheduling adapts to the tournament format. Group-phase matches use weekly availability heatmaps; Swiss rounds use time-slot pairing from uploaded spreadsheets.
Multiple tournament formats
Run a classic group stage into knockout bracket, or use the Throne Taker format — Swiss rounds feeding a Top 16 cut with snake-seeded knockout. Format choice drives the entire tournament flow.
Excel bulk import
Upload player availability or full group rosters from Excel. The parser validates the data, creates players, and generates matches — no manual entry needed.
How a Tournament Works
For Admins
Create a Tournament
Set up the format — group size, number of rounds — and share the registration link. Players sign up on their own.
Draw Groups & Start Play
The app draws groups randomly and generates the round-robin schedule. Results come in as players report them — standings update on their own.
Review & Advance
Check standings, resolve any disputes, and advance the tournament to the next phase when ready. The app handles bracket generation and seeding.
For Players
Join & Register
Click the invite link, confirm your spot, and you're in. You'll see your group, opponents, and schedule right away.
Mark Availability & Play
Fill in your weekly availability. The app finds overlapping times with your opponent so you can schedule matches without the back-and-forth.
Report Results & Track Progress
Submit your match result (or let the Discord bot handle it). Standings and brackets update live — you always know where you stand.
Built With
Next.js
The React framework running the show — server rendering, routing, the whole deal.
Supabase
Postgres database + auth in a box. Stores everything from player accounts to match results.
Drizzle ORM
Type-safe SQL queries that make the data layer surprisingly pleasant to work with.
Vercel
Where the app lives. Zero-downtime deploys, edge network, the usual good stuff.
Railway
Keeps the Discord bot running 24/7 as a separate service alongside the main app.
A note from the developer
Syncworm is built and maintained by one person. I started it because organizing Dune: Imperium tournaments in our community meant spreadsheets, manual tracking, and way too many Discord messages. I wanted something better, so I built it.
If you've played in a tournament organized through Syncworm, there's a good chance we've played against each other — my gamertag is smartini.
Questions or feedback?
Get in touch