Friend off the court. Enemy on it.
One tap pings every rated rival at your level — first accept locks the match. Or post your own, rally a group, and climb the boards. No group chats, no ghosting, no mismatches.
Free during beta · Perth beta details →


Quick Match
One tap pings every rival at your level. First accept wins.
Create a Match
Post an open match or challenge a specific player.
Social Groups
Host, fill the roster, then fair shuffled rounds for the crew.
Map Nearby
See players and open posts on the map around you.
Leaderboards
Climb local, friends & global. Singles and doubles.
The Problem
Finding a good rival shouldn't be harder than beating one.

Find a match fast
Quick Match.
Hit search. Live your life.
Pick Casual or Competitive and hit start. Every available Frienemi in your rating band gets pinged — first accept wins, with a 60-second confirm. It keeps hunting in the background, so lock your phone and we'll ping you the second someone's on.
- Searches while backgrounded — no babysitting the screen
- Push notification the moment a rival accepts
- Matched within your ELO band — never a mismatch
- 60-second confirm window — no ghosting
Create a Match
Set it up
exactly your way.
Two ways to make it happen. Post an open match across up to three areas and let nearby players join — or pick a specific match and challenge one player at a fixed time and place. Singles or doubles, casual or competitive.
- Open post: cover multiple suburbs, set your days & vibe
- Specific match: challenge a player, lock time & court
- Coordinate the details in chat once someone's in
- Exact location stays hidden until you both confirm


On The Map
See who's playing, right around you.
Open the map and every rated player and open match nearby shows up where it actually is. Tap a pin to preview the match — format, vibe, host rating — and request to join in a tap.
- Live pins for players and open posts in your area
- Filter by distance, time, format, and vibe
- Preview a match before you commit — host rating included
- Approximate area only until the match is locked




Leaderboards & Rating
Climb the boards. Then defend your spot.
Local, friends, and global boards — singles and doubles, side by side. The top three take the podium; everyone else is hunting. Every Competitive win moves your live ELO, and the rating-history chart shows exactly how you got there.
- Separate singles and doubles rankings
- Local, friends, and global views
- Podium for the top three — live wins and losses
- Challenge anyone above you in one tap
Built for Players
Everything between "want to hit" and "I'll get you next time."
Rated — no sandbaggers
Every player carries a live ELO. Four onboarding questions seed it; every Competitive match moves it. UTR optional.
Chat to plot the match
Sort time, court, and who brings balls in-app. Exact location unlocks only once you both confirm.
Scores you can't fudge
One enters, the other confirms. No disputes — your rating updates the second it's locked.
Call out a Frienemi
See someone above you on the board? Hit Challenge — straight to their feed.
Trust & Safety
Confirmed rivals. Fair matches. Your location, your call.
Location stays private
Approximate area only until both players confirm. No broadcasting your home club.
Every opponent is rated
Live ELO on every player — no mystery opponents, no sandbaggers. UTR optional.
No-show accountability
Confirmed matches lock in. Bail often and your rating + access take the hit.
Score disputes, solved
Both players confirm before a result counts. One-sided entries never touch your rating.
A Closer Look
Built pixel-by-pixel in light and dark.
You're viewing Light mode — flip it and the whole page follows.

Discover feed

Quick Match

Match found

Match detail

Match chat

Coordinate

Leaderboard

Your profile

Rating history

Map nearby

Notifications
Frequently Asked
The short answers.
Wait — Frienemi?+
Friend plus enemy. Tennis is the weird sport where the person you most want to beat is the one you most want to keep showing up. Frienemi is built for that feeling — the rival you high-five at the net, then try like hell to beat next weekend.
Do I need a UTR to play?+
Nope. We give every player a live ELO rating. Four quick onboarding questions give you a starting ELO, and it moves up or down with every Competitive match — beat someone above you, you climb. If you happen to have a UTR, you can add it as a hint for a sharper first seed — but it's purely optional. The ELO system stands on its own.
What's the difference between Casual and Competitive?+
Casual is just for fun — the result doesn't move your rating or leaderboard position. Competitive matches count toward your live rating, stats, and city ranking. Pick Competitive if you want bragging rights.
How does Quick Match actually work?+
Press start. Every available Frienemi in your rating band gets pinged at once. First to accept locks the match. How long it takes depends on who's around — peak hours and busy clubs fill faster, off-peak you might leave it running. Either way, don't babysit the screen. Lock your phone, switch apps, do whatever. The search runs in the background and we push a notification the second a Frienemi accepts. Just don't force-close the app.
What stops someone from ghosting me?+
Confirmed matches are binding. Repeated no-shows hurt your in-app reliability score, throttle your Quick Match access, and can lead to account restrictions. Flake on the court, not on Frienemi.
Is it free?+
Free during the beta. After launch there'll be a free tier that covers core matchmaking — we'll give plenty of notice before anything changes.
Which cities are live?+
We're rolling out city by city. If Quick Match doesn't find a Frienemi in your range, you can still create and browse open matches to help seed your area.
Still curious? Email hello@frienemi.com — a human replies.

Ready to Play?
Your next Frienemi is one tap away.
Four quick questions give you a starting ELO, then hit Quick Match and go find today's rival.
Beta — Invites Rolling Out · Free During Beta
Social Groups
Host the hit-around. We shuffle the rounds.
Stop herding the group chat. Create a session, share it until the roster fills, then let Frienemi run fair singles rounds across your courts — with a preview you can tweak before anyone steps on court.
From create to court-side
Step 01
Host a session
Name it, set location, time, courts, and max members. Open join or approve each request.
Step 02
Share & fill the roster
Share the group link — joiners see your note, courts, and who's in until every slot is taken.
Step 03
Preview the shuffle
Fair pairings each round. Tap to swap players on any court, then start when you're happy.
Step 04
Know your court
When the round goes live, each player sees who they're on with and which court — scores sync after.