The product

Everything your club runs on,
in one page.

The club and its roster, the Tuesday night from post to recap, the membership and guest fees, and what a member gets out of it — in that order, on the real screens.

The club

One home base for the whole club.

The roster, the announcements, the chat and every session the club has run — in one place both the committee and the members open. It has a public page too, so somebody deciding whether to join can read what you play before they ask anyone.

A club on the web — cover photo, members, feed, chat and location
A club on the phone — feed, members, chat and Play Now

A members roster

Everyone in one list with a live rating, owners and admins flagged. Approve joins, or let anyone in with the code.

Announcements that stick

One pinned feed for club news, with comments and reactions. Nothing lost twelve messages up a group chat.

Club chat

One room for the whole club, separate from the per-session threads.

A public club page

Someone who isn't a member can open your club, see what you play and what's already been played, and join with the code.

Social sessions

Post it once. Run the whole night from it.

Members RSVP so you know the head count before you leave the house. Whoever turns up at the gate goes on as a walk-in. The app shuffles fair rounds across your courts, whoever sat out goes on first, and you can swap anyone before you start.

A live club social on the web — roster, venue and court count

01Post the session

Adding walk-in guests by name and level on the web

02Add the walk-ins

Reviewing shuffled court pairings on the web

03Review the shuffle

A round in play on the web, ready to lock in scores

04Run the round

Labelling each court by strength before the shuffle

Courts by rating

Label each court by strength and the shuffle puts the strongest matchups on your strongest courts. Leave them all open if your club would rather keep it simple.

The session report — who was there, standings and matches scored

Live standings, then a recap

Scores go in as the rounds finish and the standings move live — put it on the clubhouse screen. At the end it's one page: who was there, what was played, where everyone landed. Save it as a PDF and send it to the group.

Club money

The dues, the guest fees, the student rate. Into the club's own account.

The same club that runs your Tuesday night can collect the money for it. Card payments, cash written down beside them, one view of who has paid — and the funds go straight into a Stripe account in your club's name.

A club's payment settings — connect payouts, create a plan, charge to join

Turn it on

Membership plans priced from a junior rate to a full season

Price the memberships

Club finance — earned, pending and paid out, with every payment listed

Watch the money land

A club roster with paid and unpaid members side by side

See who has paid

Members whose membership runs out in the next few days

Catch the lapses early

The club page as its committee sees it

Run it from one page

Membership plans, paid by card

Set the plans your club actually offers and members pay online. The roster shows who's paid, who's due and who's lapsed — no spreadsheet of bank transfers to reconcile.

A student rate that checks itself

Offer a student price and the member proves it themselves: they enter their university email and confirm the code sent to it. Nobody on the committee chases an ID card.

Session and guest fees

Put a price on a social, or a court fee on a visitor. Members pay from their phone as they join the session — that half isn't laptop work.

Cash still counts

Someone pays at the door? Record it against their name and it sits in the same list as the card payments. One place to look, not two.

Refunds and payouts

Refund from the same list you took the payment in. Payouts land in the club's bank on Stripe's schedule — Frienemi isn't in the middle of that.

What came in, and who hasn't paid

Collected, outstanding and refunded in one view, with members drifting towards lapsed flagged before they go quiet. Export it for the treasurer.

Your Stripe, your money

The money never
passes through us.

Every payment lands in a Stripe account in your club's name, connected by your own committee. Frienemi doesn't hold your funds and can't move them — we only show you what came in and who still owes.

  • Paid into the club’s own Stripe account
  • Payouts to the club’s bank on Stripe’s schedule
  • Free while you pilot, then a locked founding rate
  • Optional — run the sessions without it if you’d rather

Money at home, sessions at the court.

Plans, fees, refunds and reporting are done on a laptop at app.frienemi.com— deliberately, because that's committee work and it wants a real keyboard and a real screen. A member paying to join a priced session does it from their phone in ten seconds, at the gate. The split is on purpose: the night lives in your pocket, the books live at the desk.

Free while your club pilots it, then a founding rate we quote you in writing before the pilot ends. What a club gets, in full.

The player side

Every result goes on the record.

Club night, a scanned hit at the courts, or a match arranged in chat — it all lands in the same history, moves the same live rating, and shows up on the same boards. Achievements pick up the milestones along the way.

Play Now

Already courtside?
Scan a clubmate and play.

No posts, no waiting. You're both at the club right now — open Play Now, scan each other in, and it's just the game. Play it out, drop the final score, and it goes straight to the record— ratings move the second it's saved.

  • Scan a clubmate's code — no usernames, no adding
  • Casual or Competitive — you choose before the first point
  • One tap on the score, it lands on both records instantly
  • Competitive results move your live rating right away
Play Now — bump phones and scan in
Play Now in the Create menu
You 12 – 10Saved · Competitive
The leaderboard on the web — local, friends and global boards

Leaderboards & rating

Climb the boards.
Defend your spot.

Local, friends and global boards — singles and doubles, side by side. Every competitive win moves your live rating, and the history chart shows exactly how you got there.

  • A separate rating & board for every sport
  • Local, friends, and global views
  • Podium for the top three — live wins and losses
  • Challenge anyone above you in one tap
Create an open match

Create a match

Open post, or a named challenge.

Post an open match across up to three areas and let nearby players join, or challenge one player at a fixed time and court. Singles or doubles, casual or competitive — and the exact location stays hidden until you both confirm.

Coordinate the match — location, time, and chat

Match chat

The where and when, inside the match.

The second a match locks you get a private thread — no swapping numbers, no scattered group chats. The court and the time sit pinned at the top of the conversation so nobody's lost on match day.

Pick your sport
6 sportsone rating each

Multi-sport

Not just tennis.
Six sports.

A club can run more than one. Switch sport in a tap, and each one keeps its own rating, leaderboard and match history — so the pickleball night never touches the tennis ladder.

TennisPickleballPadelBadmintonSquashPing Pong

Everything else in the app

The rest of it, in one grid.

Real, shipped, and used — just not what a club joins for. Each of these is a tap away inside the app.

Quick Match

Not in a club session? Go live and get paired with a nearby player in your sport and rating band, with a 60-second confirm.

The map

Clubs, players and open sessions on the map around you — approximate area only until a match is confirmed.

The community feed

What's on nearby, from clubs and players you don't belong to yet.

Notifications

Session reminders at 24 hours and 1 hour, round calls, score confirmations and club announcements.

Player profiles

Match history, per-sport ratings and achievements on every player, so nobody's a mystery opponent.

Private by default

A player's exact location stays hidden until both sides confirm. Block and report are one tap.

Everything Frienemi does

Four pillars. One game that always feels fair.

From the club night to defending your spot on the board — every feature sits under Play, Compete, Connect or Trust.

Play

Get on court, fast.

Every way to get a game — right now or planned.

  • Quick MatchGo live and get paired with a nearby rival at your level.
  • Play NowAlready courtside? Bump phones, scan in, keep score.
  • Create a MatchPost an open slot or challenge one player at a set time.
  • Social GroupsHost a session — the app runs fair shuffled rounds.

Compete

Rating & rank.

A live rating you can't fudge, and a board to climb.

  • Live ratingEvery player carries a real rating that moves with every result.
  • Confirmed scoresOne enters, the other confirms — no disputes.
  • LeaderboardsLocal, friends and global — singles and doubles.
  • Challenges & historyCall out anyone above you; track every move.

Connect

Clubs & community.

Your crew, your courts, your sports — in one place.

  • ClubsMembers, feed, chat, announcements and hosted socials.
  • Map nearbyPlayers, clubs and open posts on the map around you.
  • Six racket sportsTennis, Pickleball, Padel, Badminton, Squash, Ping Pong.
  • In-app chatSort time, court and who brings balls — all in-app.

Trust

Fair play & safety.

Fair matches, private by default, no ghosting.

  • Private locationApproximate area only until you both confirm.
  • Accept-to-lockA 60-second confirm window keeps flakes honest.
  • Reliability scoreNo-shows hurt access; showing up earns trust.
  • Block & reportOne tap to keep your games clean.

A Closer Look

Built pixel-by-pixel in light and dark.

You're viewing Light mode — flip it and the whole page follows.

Club roster

Club roster

Announcements

Announcements

Club chat

Club chat

A session

A session

Your court

Your court

Match chat

Match chat

Your profile

Your profile

Rating history

Rating history

Seen enough?

Put your next club night on it. It runs in your browser, and on the phone in your pocket.