CourtShuffle

Category: Automation | Date: 2026-03-02

CourtShuffle
IOS Swift

CourtShuffle for iOS to solve the headache of organizing group tennis sessions across multiple courts.

Description

I built CourtShuffle as an iOS app for organizing group tennis (or really any court sport) sessions. The idea came from the classic problem you run into when you've got like 8-12 people and 2-3 courts - figuring out who plays who, who sits out, and making sure it stays fair over time is kind of a nightmare to do manually. Someone always ends up playing with the same person three times in a row, or one person sits out way more than everyone else. I wanted to just fix that. The app lets you set up templates (basically a saved config of your courts and players) so when your regular group shows up on a Saturday you just load the template, mark who's actually there that day, and go. You can share templates with friends via clipboard too, which is handy if you're running a club or group. The part I'm most proud of is the pairing algorithm. It tracks how many times every pair of players has been matched up, balancing who's played singles vs. doubles, penalizing repeat matchups from the previous round heavily, and using a Monte Carlo approach for doubles pairings where it runs hundreds of random combinations and picks the fairest one. It even detects when every possible pair has played each other at least once and resets the rotation so it stays fresh. Sessions keep a full history of every round that was generated, so you can go back and see exactly who played who in round 3. And once a session is done, you can export it back out as a template for next time.