Smart Player Matching

What if the app already knew who you'd love playing with?

Smart Player Matching watches how you play — your skill, your schedule, your friends, where you are — and quietly builds your ideal foursome. No searching. No awkward group texts. Just open the Discovery tab and your next great game is waiting.

How It Works

Open the Discovery tab and we do the rest. Our matching engine scores every nearby player across four dimensions, then assembles the best possible foursomes for you.

1
Set Preferences
Skill range, distance, discoverable toggle
2
Engine Scores
Every nearby player scored across 4 factors
3
Foursomes Formed
Greedy algorithm builds optimal groups of 4
4
Play or Pass
Send a play request or dismiss and move on

Suggestions refresh weekly with a 7-day expiry. Each week you get a fresh set of compatible groups based on the latest data. No stale matches sitting around.


The Scoring Engine

Every potential match is scored across four weighted dimensions. The weights are tuned to prioritize what actually leads to great games.

Skill 35%

Availability 25%

Social 20%

Location 20%

Skill Proximity

Compares DUPR ratings within your set tolerance. A 3.8 matched with a 4.0 scores higher than a 3.8 matched with a 5.2. No ratings? You still get a mid-range score so you're not excluded.

Schedule Overlap

Analyzes your play history to learn when you typically play. Jaccard similarity of time slot patterns ensures you're matched with people who play at the same times you do.

Mutual Friends

Players who share friends with you score higher. 5+ mutual friends = maximum social score. Playing with friends-of-friends means you're more likely to gel on the court.

Geographic Distance

Haversine distance calculation within your max radius. Closer players score higher. A bounding-box filter pre-screens candidates so only nearby players are even considered.


Discovery Preferences

You control who sees you and who you see. Set your preferences once and the engine respects them on every refresh.

Skill range: set min/max DUPR tolerance so you only see players within your competitive window

Max distance: limit matches to players within your preferred driving radius

Discoverable toggle: turn off to hide from other players' suggestions without losing your own

Play history: we learn your preferred days and times from your actual game patterns

Privacy first. Your exact location is never shared with other players. We use it server-side to calculate distance, then show a general area only. You can disable discoverability at any time.


What Players See

The Discovery tab shows your top-scored foursomes as swipeable cards. Each card shows the group members, their ratings, match reasons, and an overall compatibility score.

Player Cards

Each suggested player shows their name, DUPR rating, avatar, and match reasons like "Similar skill level (3.5–4.0 DUPR)" or "Both play Tuesday evenings."

Foursome Groupings

Suggestions come as groups of 4, not individuals. You see the full group composition so you can judge if the whole table works, not just one player.

Send a play request to invite the group to a game directly from the card

Dismiss suggestions you're not interested in and they won't come back

Weekly refresh: new suggestions every week based on the latest data

7-day expiry: old suggestions automatically clear so the feed stays fresh


Club-Scoped Matching

For clubs with white-label apps, the matching engine automatically scopes to fellow club members only. Same algorithm, same quality, but restricted to your community.

Members only: suggestions are limited to active members of the same club

Same scoring engine: skill, availability, social, and location all still apply

White-label ready: works seamlessly in branded club apps

No cross-club leakage: club members never appear in the main app's discovery feed