Your club manages its leagues here. The coordinator creates the leagues and schedules the matches. You only need to provide your availability, attend your matches, and enter the scores afterward. Choose a question below to learn more.
My Stats is your whole record at the club — session by session and all-time, your win streaks, the partners you play with most, your head-to-head rivals. Only you can see it.
Your Homepage leads with whatever needs you next, and your next match sits near the top of it: the night, the court, and who you're playing with. Inside the week, a match whose hour at the club looks bad wears a cyan band across the top of its card with the hour and the reason: rain or snow likely, storms, heat, cold, wind, or a National Weather Service advisory in force. No band means the forecast looks fine, or the night is still too far out to forecast.
Everything about one league lives on its own page.Tap a league's name anywhere it appears: what the club published — format, fees, dates of play — who has signed up, and the doors to its Schedule (every match, yours highlighted), Availability and Standings. No schedule shows until your coordinator publishes one; until then, filling in availability is the thing that makes a schedule possible. Any league at your club opens this way, including one you're not in: its schedule and standings show in full, with nothing of yours on them, and availability is only asked of the people in it.
A cancelled match was called off by your coordinator and counts for nobody; reported not playedmeans someone told us it didn't happen. A name wearing misc is a placeholder — a pro or a stand-in the club arranged, not a member with a record. The captain is listed first, and needs subbeside a name means that player has asked for cover and nobody has taken it yet. If you may take it, the match offers it right there — and from a league you're not in, taking it joins you as a substitute at the same moment.
Add to my calendaron Home subscribes your own calendar to every upcoming match — details under "Putting my matches in my calendar" below.
Open your league's page and tap Availability. Every match night gets one of three answers: Preferred if you'd love that night, Available if you can, Can't playif you're out. Every tap saves immediately, and the more nights you open up, the fairer everyone's schedule comes out.
A night you leave blank counts as Available. You start out available for everything — the grid narrows that down, so the only way out of a night is Can't play. Your answers are for the schedule: sub requests reach you whatever you've marked, because plans change.
Home asks loudly until you've answered once.A league whose grid you haven't touched at all shows up at the top of your home page as Set your availability, and it stays there — it's the one deadline the club can't work around for you. The moment you set any night it becomes the quieter Edit availability card, which you can put aside; you can still fine-tune right up to the availability deadline — the entry deadline, unless your coordinator set a later one.
If your nights don't stretch to a full league, you play it as a substitute.Every league needs its full-time players free a minimum number of nights — that is what lets the schedule reach everyone. If you're under it, you keep your place in the league as a substitute: you can be asked to cover any match, and nothing else changes. Open more nights and your full-time place is there to take back, on this same page, with no phone call needed.
Joined as a substitute? There's nothing to set.Subs aren't scheduled, so nobody asks for their nights: no availability card on Home, no final-check email, and the availability page just says so. If the minimum-nights rule moved you to substitute, you keep the grid — opening nights is how you take your place back.
Submit can refuse.Most leagues need you free a minimum number of nights to be schedulable; if you're under it, Submit says how many more. Your taps are already saved either way — Submit is "that's my final answer". Substitutes are exempt. Nights already played stay greyed out as your record; they don't count towards anything you owe.
The no-sign-in link.Availability emails carry a link that opens your own grid with no password, and the page itself can copy you one to keep. Treat it like a key — anyone holding it can set your availability. An old one stops working when it expires or once you're no longer in that league, and it will say which.
Availability locks at the availability deadline— the entry deadline, unless your coordinator set a later one. Once that deadline passes and the schedule is built, the grid becomes a read-only record — you can't change your availability any more. Two days before entries close you get a final-check email listing your nights, with the no-sign-in link to fix anything. If something comes up after that and you can't make a match, you don't edit availability, you request a subfor that match. A sub who can no longer play simply doesn't accept.
On the match — on Home or on your league's Schedule page — every upcoming match carries two buttons: Find a sub for me opens a request the club fills, and Choose my sub lets you pick the person yourself from the eligible pool — they get the request and the match is theirs once they accept. Both ask you to confirm first, and that panel says who gets asked before you send it.
What happens next.Your own flight is asked straight away, and we email you to confirm it went out and say how many people were asked. Over the next two days it goes to the flights either side of yours and then the club's registered substitutes, with an email to you each time. If the match is more than a week off, your flight is asked again four days before it and everyone else three days before. If the match is three days away or less, that whole band hears at once. Four hours before the match, if nobody has taken it, everyone is asked once more. The club never asks further than one flight above or below yours, so the game stays a fair one.
You can watch it fill on the same card, press Cancel sub requestif your plans change back — the same button sits on the card and on the request's own page, the one the emails link to — and use Open the threadto talk to whoever's looking at it. Every conversation in League Ninja lives on the one Chat page, so that button opens the thread there rather than showing it in two different places. The thread shows whether the request is still looking for someone or already filled, and it closes once the match is done.
Already found your own sub? Choose my sublets you name who's taking your spot. They get the request, and the match is theirs once they accept — until then you're still on it. You can pick anyone in the club, not just your own flight, and whatever their availability says: you found them, so you know they can play. If they are not in this league yet, accepting adds them to it as a substitute. Your match and your coordinator are told when they accept. You can do this even after you've asked the club — choosing someone closes the open request for you, and it works the same way back: if the person you named hasn't answered, Ask my flight instead takes them off the hook and asks everyone. They aren't told either way. Search the list by the name your club has on file: a search that finds nobody shows you everyone rather than stopping, so a surname is the surest way in.
If you're the captain, you hand the captaincy over first. It never passes to whoever covers for you — they agreed to play one night, not to run the match — so when you ask for cover you pick one of the other players already in that match to take over, and we tell them. Anybody on the match can take it, including somebody covering for a teammate. If there is nobody else in the match, we say so and ask you to talk to your coordinator rather than leaving the match without a captain.
Only you can ask for cover for your own seat.If a teammate can't make it, they raise the request themselves from their own match card — a captain can't do it for them. That is how the club's old site worked too, and it keeps one person answerable for each empty place.
Sub requests you can take show up on Home. I will be the subtakes it — first come, first served, and the spot is yours immediately. Every league's schedule page shows who needs a sub, night by night, with the same door on the match. In a league you're not in, that door is on the You're not in this league banner at the top of its page and its schedule instead: Join league and sub for… asks whose place and which night, then joins you as a substitute and takes the match in one go.
The ask spreads outward, a day at a time.A request goes to the match's own flight first, then the flights either side, then the club's registered substitutes — never more than one flight away — so you may see a request a day or two after it was raised, and one for a match that's close reaches the whole band at once. A request raised more than a week ahead is sent again four and three days before the match, and anything still open four hours before is sent to everyone once more — so you may be asked about the same match more than once.
Your availability doesn't decide who is asked.A sub request reaches its flights whatever anyone marked for that night — plans change, and a no costs nothing. The only people left out are the ones already playing at that time, on that match or another one. If you can't make it, just leave the request be.
Answer straight from the email. When somebody asks you BY NAME, the letter carries Yes, I'll cover it and No, I can't. Either one works without signing in — tap it and you're done. Saying no puts the request back to their own flight, so they aren't left waiting, and they are told you couldn't make it rather than left guessing. If you say yes to a league you're not in, you join it as a substitute at the same moment, which means you may be asked about its other nights too.
If you open a request and it's already over.Someone else may have taken it, the person may have got their plans back, or the match may simply have been played — a request nobody answers closes itself once the night has gone. Whichever it was, the request's own page says so plainly: a sub is no longer needed. You haven't done anything wrong and there's nothing to press.
Covering a match puts you in that flight's conversation for the week, so you can sort out the details with the people you're playing.
After a match, any player on it can enter the score— from Home, from your league's Schedule page, or from your link in the scoring email. The captain gets the reminder and is the one who has to do it, but anyone on the match can.
It's your card. Signed in, the form opens as yourscores — no picking who you are. Opened from a scoring email, it opens as the card of whoever the email was sent to, and says so; if that isn't you, use Not you?and pick your own name. If the app can't tell either way it asks first, and nothing is chosen for you — the score is filed under the name you pick, and everyone on the match, you included, gets an email showing who entered it and every set. For each set, pick your partner and enter your games won and lost; partners can change from set to set. Everyone else's totals, sets won and adjusted score fill in from your card automatically below — you never type those.
Put in what actually happened.A tennis or paddle set usually ends 6-0 to 6-4, 7-5, or 7-6 on a tiebreak, and a pickleball game is won at 15 — but nights end early, and a 5-4 from a match that ran out of court time is a real score. Enter it. If it doesn't look like a normal set you'll be asked to confirm once, and then it goes in and counts. The email everyone on the match gets marks that set as unusual, and your coordinator gets a copy, in case it was a slip rather than how the night actually went. If a match ended early, score the ones that were completed and leave the rest blank — a 0-0 is not a score and will be rejected. Use We didn't play if none were played at all.
Already scored?If someone got there first, your side is filled in from what they entered — check it, and change anything that's wrong before you submit. Agreeing is just leaving it as is.
Didn't play? Use We didn't play instead of inventing a score. The match goes down as not played and stops nagging everyone.
Someone else played? If a sub stepped in on the night, use Swap a playeron the score page: pick who didn't play and who did, and the score then names the people who were actually on the court. Anyone in your club can go on— they don't have to be in the league, in your flight, or down as available that night. Start typing and the matching names appear; if nothing matches you get the whole club to look through instead, because a nickname or a spelling is usually the problem. Everyone on the match gets told about the change. If a night is rained off and your coordinator puts the original four back on it, the sub who steps off is emailed too. If the stand-in isn't a member at all — a pro, a stand-in — type their name and pick Addat the bottom of the list: they go on the match under that name, and a Misc player is never rated, ranked or contacted. The scoring link is enough to do any of this; you don't have to be signed in.
Reading a scored match.On your recent matches, each set's score sits beside the partner you played it with — 6-2next to a name means the two of you took that set six games to two. Your games always come first, and the score is tinted green when you won the set and red when you lost it, so a wrong entry jumps out at a glance. On a league's full schedule and on a match's own page the same sets read as pairings — who played with whom, winners first — because those pages aren't about any one player.
Editing later. Anyone on a match can enter or edit its score for the whole session — scoring closes for everyone when the session is archived, at 11pm fourteen days after the last match night unless your coordinator sets another day or time, and after that your coordinator can un-archive it if a result is genuinely wrong. The page says which it is.
When your club opens a league you're eligible for, it appears on Home under Leagues you can join, with its closing date. Eligibility follows the sports you play and whether it's a men's or women's league — nobody has to remember to invite you. Closing times are your club's local time, not yours.
Or from the league itself.Open a league you're not in, on its own page or its schedule, and the same join buttons are on the You're not in this league banner at the top.
Full-time or substitute.Full-time means a seat every week. Substitute means you're in the pool for sub requests without a regular slot — substitutes don't set availability and don't count against the league's cap.
The closing date is for full-time places only. Once it passes, the league stays on that same card offering just the substitute door — it says it is already in progress and drops the countdown, because there is no deadline left — and you can join the sub pool right up until the last match night has been played. The deadline exists so the coordinator knows who to build the schedule around; somebody willing to cover a match is useful all season. Eligibility is unchanged either way — the same sport and division rules apply.
If it's full you join a waitlist instead, and your place in the queue shows on Home until something changes — you can leave the queue there any time. When someone drops out, the next person in line goes in automatically.
Inviting a clubmate.A league card carries a link you can send to someone at your club while sign-up is open. It lets them ask your coordinator for a place — it can't add them itself, it won't work once the window shuts, and it doesn't apply to leagues your club runs on the old site.
Changing or cancelling your entry.While sign-up is open, your league's own page and the availability cards on Home carry a Cancel my entry control. It asks before doing anything, and a full-time player can also switch to substitute from the same place. One thing to know first: either change moves you to the back of the sign-up queue— cancelling and rejoining, or switching to sub, both count as a new entry, and your sign-up time is your place in line. Cancelling tells your coordinator, and getting back in goes through them. Once the entry deadline passes, all of this is your coordinator's to arrange (they'll sort cover for your matches), so ask them directly.
Joining as a full-time playertakes you straight to that league's availability page — your nights are the first thing the schedule needs from you. Until you change anything there, you're counted as available for every night.
Where you stand.Every league page opens with a banner saying plainly whether you're a full-time player, a substitute (and why, if the availability rule moved you), or not in that league at all. If the rule moved you down and you've since opened enough nights, the banner is also where you take your full-time place back.
"A league that might interest you."If you've played a kind of league before — say men's paddle — and a new one is filling without you, your coordinator may email to ask: are you in? The three links are three separate answers, each recorded the moment you open it. Yestakes you straight to the league's page to sign up as a full-time player or a substitute; No is noted and the page then offers a box to say why, which only your coordinator reads; Maybeis noted and takes you to the league page to have a look. You don't need to be signed in to answer, the other two links keep working if you change your mind, and you're only ever asked once per league.
Your league page has one list— Registered players — and it is both the roster and the standings. Every person who signed up is on it, always: nothing is folded away behind a "see more". Sort it by any column by tapping the header.
Before anyone has played, it shows when each person signed up, which is also the order your coordinator works down if a league is over-subscribed. The results columns aren't there yet — that is the list telling you the session hasn't started, rather than showing you a table of zeroes.
Once the session is running, you get matches played, your win–loss record, and the share of games you've won — points, in point-scored sports like pickleball — so a close loss still counts for something. Sub W–Lis separate: nights you covered another flight count there and not in your own standing, because a couple of nights covering another flight shouldn't be ranked against a full session. Tap the arrow on your row to see every night you played, with the score.
Flightsappear on the list once the schedule is posted — until then everyone signed up is one group. Flights are level-based, so results in one flight are not compared with another's, and the list shows no place inside a flight.
Some leagues add a winner bonus — a few extra games (or points) credited for each win. When yours does, the list says so under the table, with the number.
Level pegging is broken by head-to-head first, then by the other tiebreaks the page lists. Substitutes are ranked in their own table, because they haven't played the same number of matches as the regulars.
withdrawn beside a name means that person left the league mid-session. No standings at all means no scores have been entered yet.
What standings are not. Your standing is this session only. Separately, the club keeps a long-term picture of how you've played across every session, which your coordinator uses to suggest which flight suits you next time. It isn't a score and it isn't shown — flights are a judgement your committee makes, with that picture as one input among several.
Chat opens straight into your club's announcementschannel. Your channels — the club, each of your leagues, your flight's thread — sit in a list on the left; on a phone, tap ‹ Channelsto switch. A red dot beside a channel's name means something in it you haven't seen yet; opening the channel clears it. You never join or leave channels yourself; they come and go with your leagues. Your own messages sit on the right, everyone else's on the left, like any chat app. In the club channel your coordinator starts the posts; you react and reply.
React or reply to anything.Point at a message — or tap it on a phone — and the react (👍 ❤️ 🎉 🎾) and Reply options appear right above it; tap a reaction someone already left to add yours to it. A reply carries a little quote of what you're answering, and tapping the quote jumps back to the original. No threads to manage, just one conversation. Every message is also emailed to the people in the channel the moment you send it, and an email cannot be edited or unsent — so neither can a message. The red line above the box says how many people that is; read it twice before Enter. Once a session is archived, its chat closes and its record stays as written.
Chat by email. When your coordinator posts an announcement you can get an email about it. In Settings, under notification preferences, choose every post, a once-daily digest of all your channels, or no chat emails — and every chat email carries a link back to that choice.
Each league you play in has a channel, and each flight you hold a seat in has its own thread inside it — including a Covering thread for a week you subbed into. Sub requests get their own threads and are listed separately.
Every match has its own chat.On any match you're playing in — on Home, on Matches, in your stats — there's an Open match chatlink. It opens a thread with just the people in that match, for the “running ten minutes late” kind of message. Your coordinator can read it; nobody else in the club can.
Three days before a match, that chat opens itself. Everyone playing gets the usual match email, and now you can simply reply to it— your reply goes to everyone in the match and appears in the match chat, so the group can sort out who's ready without anybody swapping phone numbers. Nobody sees anybody else's email address. The same email says who has asked for a sub, and links you to ask for one yourself.
A session's channels stop taking new messages a couple of weeks after its last match, and stay readable after that.
We don't show members each other's email addresses or phone numbers — not on the sub finder, not on a roster, nowhere. Reaching a clubmate happens either through the app (a sub request, a chat thread, a comment) or entirely outside it, the way it did before.
Your club's staff can see your contact details, because your club already has them and needs them to run your leagues. Other members cannot.
Three places cover everything. Home is now— whatever needs you next, and it changes every visit; a card that needs something from you stays until it's answered, everything else steps aside by itself. My Stats is the past — your whole record. And each league's own page — tap its name anywhere — is the hub for that league: its schedule, availability, standings and details all hang off it. For browsing beyond your own games, Matches lists every published match across your leagues. Narrow it by league, by sport, or to a single date; switch between only mine, everyone's and needing a sub — that last one is every open sub request you could cover, across all your leagues at once, each with a link to take it.
The tabs — Home, Chat and My Stats — run across the top on a wide screen and stay put as icons on a phone. If you also run leagues or administer the site, the other portals live in your account menu (your picture, top right).
If your club has archived you — a pause for members not currently playing — Home says so at the top, and one click unarchives you. Your history never goes anywhere.
On Settings, press Add to my calendar. Your calendar app asks whether to subscribe; say yes, and every match you're in appears — across every club and every league you play in, not just one session.
It keeps itself up to date. This is a subscription, not a one-time import: if a match moves to a different night or court, or gets cancelled, your calendar changes on its own. You never have to add anything again.
Google can be a day behind. Apple and Outlook check every few hours. Google Calendar decides for itself how often to look, and it can be up to a day — so a match that moves today may not move there until tomorrow. League Ninja itself is always right; check here if something looks off.
If the button does nothing, your browser has no calendar app to hand it to. Open Other ways to add it underneath, copy the address, and paste it into your calendar app where it offers to subscribe to a calendar — not import, which makes a frozen copy.
The address is like a key.Anyone who has it can see when and where you play. It can't change anything, and it doesn't name the other players in your matches — but it doesn't ask for a password either, because calendar apps can't sign in. If you've shared it and want it back, press Reset my calendar link: the old address stops working immediately, and you add the new one to your calendar.
There is still a one-off downloadunder the same heading if you'd rather have a file. It won't update after you import it.
Tap anyone's name.Names on a match card, on a league's roster and in the standings all open that player's record — the same page you see for yourself, about them.
You'll see their all-time record, their session by session, who they play with most and who they play against most. From there you can tap one of THOSE names and keep going.
Your own record is visible the same way.Anyone in your club can look it up, exactly as you can look up theirs — the same scores that go up on the board after a night's play. It stays inside your club: nobody at another club can see it, and it never shows your email, your phone number or anything you set in Settings.
Players who are only there to fill a gap — the club's stand-ins — have no record and no page, so their names aren't links.
You can skip the six-digit code entirely. On Settings, press Set up on this device and your phone or laptop will ask for your face, your fingerprint or its PIN. After that, signing in is that and nothing else. It is tied to the device you set it up on, so set it up on each one you use — and if you lose a device, remove it from the same place.
The sign-in screen says so too, under the box where you type your address: press Set one up after I sign in and the code you are about to type is the last one — you land straight on the button once you are in. Your home page offers the same thing once, as Tired of typing a code?. Set it up either way, or press Not now and it will not ask again — Settings still has it whenever you change your mind, or when you want to add a second device.
This browser stays signed in for 90 days. You only need a six-digit code the first time on a device, and again after 90 days. Sign in once on your phone at the start of a season and you should not have to think about it again.
Signing out from the account menu ends it on that device straight away — so use it on a club computer or anything you share, and it really does sign you out.
If you have lost a phone, or signed in somewhere you cannot get back to, Sign out everywhere on the Settings page ends it on every device at once. Everyone, including you, needs a fresh code afterwards.
Settings — in the account menu, top right — is where you correct what your club has about you: your name as clubmates see it, the email your club writes to, and the mobile number every text is sent to. Change one, press Save, done.
Changing your email here does not change how you sign in. Signing in is handled separately, under Manage account in the same menu.
Leagues I want to hear about is on the same page, and it decides which new sign-ups reach you at all. Tick the sports and divisions you actually play; with none ticked, your club has no way to tell you about anything new.
The first time you open Home, a Welcome to League Ninjacard at the top asks the same things — your name, then the leagues. Your name is already filled in if your club had it; if you signed yourself up, the boxes start empty and a first name is the one thing the card needs. Every sport is ticked to start, so untick what you don't play, add a photo if you like, and press Confirm settings. The card then goes for good; the choices live on this page from then on.
Settings — in the account menu, top right — holds what you receive. Every email also has an unsubscribe link at the bottom.
Texts are opt-in and not switched on yet.You can enter the mobile number you'd want them sent to; it starts from whatever your club has on file, and the number you type is the one that counts. Opt out any time, or reply STOP to any text.
What to expect across a session: if a league is open and you haven't joined, a few reminders as the sign-up date nears. Once you're playing, a preview of each match about four days out (who you're with, which court, who's captain), a reminder the day before, and a Friday note with the week ahead. Captains get an extra nudge and the link to enter the score.
Some messages are always sent — the ones that carry something you asked for, like a scoring link. Those aren't marketing and can't be switched off.
Your coordinator separately chooses which kinds of notice their club sends at all. If something never arrives, it may be off club-wide rather than off in your settings.
If Home says no club has your email on their roster, put your first and last name in and pick your club from the list on that page, and we'll ask them to add you. The name matters: your club knows you by it rather than by your email address, so it is how they find you on their list — and it becomes your name in Settings once they add you. Usually being stranded means your club has a different address for you, so signing out and back in with that one works too.
Already asked?Then Home says so instead, and there's nothing else for you to do — a coordinator sees the request on their dashboard and the page fills in once they've acted. Same if your club has you on their roster but hasn't put you in a league yet: that happens when the next session opens.
A coordinator can name a few people to look over a league's flights before the schedule is built on them — anyone in the club, picked league by league. If you're one of them, the league appears on Homefrom the moment you're added, even if you've never signed in before. Your coordinator may also email you when they want your read, and can ask for it by a date.
You see the flights as they are right now, not a copy taken when the link was sent. Your coordinator keeps working on them, so what is on the page changes as they do — open it again and you are looking at the same board they are.
You can read it, say something, and say whether it looks right. It is advice, not a vote — the coordinator decides, and nothing you do there changes anyone's schedule. There is no way to say no: if something looks wrong, say so in the discussion and it carries on from there.
If a flight changes after you have signed off, your looks-good stops counting and the league comes back to your Home, because your ✓ described an arrangement that has moved. Nothing is emailed by that on its own — your coordinator decides when to ask again.
Each flight lists its full-time players first, then its subs, then any swing players — substitutes whose home is the flight above or below and who also play in this one, so either flight can call on them.
Write in the comment boxon the review page. It lands in one discussion that belongs to the league and stays there through every change of the flights, so the conversation is never split up. What you write is emailed to your coordinator AND to the league's other reviewers — the box says how many people that is before you send — and never to the players.
Changed email? Sign in with the new address, then ask your coordinator to link it to your player record — they have a control for it on your player page. Your leagues, schedule and history follow the link, so nothing is lost.
On Settings you can also volunteer to test new ideasbefore everyone else. It's off unless you tick it, and we never sell your data either way.
A copy of your data, or removing it. Email support@league-ninja.com from the address your club has on file. We can send you everything we hold about you, or erase your personal details. Match results stay in the league record without your name attached — they're part of other members' sessions too.
Yes. In the header, next to the light/dark control, there is a two-button switch: Columns or Stack. Stack puts every card in one column down the middle of the screen, the way a phone shows them. It remembers your choice on this device, so you set it once. Phones and small windows are always one column, so the switch only appears on a wide screen.
League questions — rosters, schedules, scores, who's in which flight — go to your club coordinator. They can fix most of it on the spot.
Something broken or confusing on the site itself: press Feedbackin the header, right where you saw it — the page you're on is attached automatically, and the people building the site read every report. Email works too: support@league-ninja.com.