Why AI can't generate your volleyball league schedule
And how volley.love can help you instead
Kyle Kamperschroer

Kyle Kamperschroer
TL;DR
You probably tried ChatGPT to make your league schedule and found problems. Teams stuck in the same time slots every week, unfair distributions, hidden conflicts. That's because ChatGPT is a prediction engine, not a solver. It generates schedules that look right but doesn't actually check your constraints. volley.love was built specifically for this problem with specialized scheduling algorithms that generate fair, balanced schedules in minutes. No payment required until your league starts.
If you're still curious to learn some more details, read on!
Intro
Making league schedules is deceptively hard. If you run leagues, you likely know this all too well from firsthand painful experience. Especially when you have teams making requests for special accommodations (we can't play at 6pm). If you don't make schedules, it may not be obvious why it's so difficult. Allow me to take a moment and illustrate what it takes.
In order to keep a schedule fair and balanced, there are many things to keep in mind as you fill in your schedule, picking which teams are playing in which matches. All good league schedules try to ensure:
- No team ever plays in two places at once.
- Teams should play everyone once before they play anyone else again.
- When teams do play each other again, there should be a reasonable gap before the rematch.
- Teams should all play an equal number of times in each time slot as the season progresses. Nobody wants to play at 9pm all the time.
- Sometimes double-headers are required when there are an odd number of teams, or you want to fill the space. Those also need to be distributed evenly.
- When there are double-headers, no team should ever have to sit between their double-header matches.
- Bye weeks can also be inevitable in certain schedules. Those also need to be evenly distributed and properly spaced out.
- All teams should play an equal number of matches (or as close to equal as possible).
These are just some of the basics to keep in mind when filling the schedule in. But it gets significantly more complicated as soon as you have teams making special accommodation requests. Some examples:
- Team 1 can only play at 6pm
- Team 2 can play at any time except 6pm
- Team 3 and 4 carpool and need to be scheduled for the same time, or at least neighboring times
- Team 5 cannot play the fourth week and must have a bye
- We have teams reffing, so we want to make sure they also don't sit between reffing and playing
On their own, none of these things appear to be that hard to deal with. However when taken altogether you've found yourself in the realm of what is called a "constraint satisfaction problem." In mathematics, a constraint satisfaction problem actually has a known difficulty called "NP-hard."
Glossing right past all that nerdy math talk, it essentially means even our modern computers have a very very hard time building schedules. Primarily because of just how many options there are when filling in a schedule. So don't feel bad that you struggle making schedules by hand. It's mathematically proven to be a hard thing to do.
The Explosion
Let's take a small, simple league schedule as an example to illustrate how drastically things get out of hand.
We have:
- 8 teams
- 2 courts
- 2 time slots
- 14 weeks

In this schedule, there will be 56 total matches that we have to fill in. In any given match, there are actually 28 options for combinations of teams (8v7, 8v6, 8v5, etc - 8 choose 2).
So even in this simple example, there are actually 28^56 possible schedules. That's 1.098 x 10^81 schedules. That number is actually larger than the estimated number of atoms in the observable universe (around 10^80).
Even the fastest computers in the world can't try every possible schedule. The numbers are simply too large. That's why it requires specialized algorithms to search smartly through the possibilities and find a good solution without checking every single one.
Computer algorithms made to solve this kind of problem are known as solvers and are a completely different type of algorithm from modern AI, like ChatGPT, Claude, and Gemini. Solvers find schedules by using smart decision making along the way to search through the universe of possible schedules and find a "good enough" solution without looking at every possible solution.
This example is straightforward if you know the patterns to look for. 14 weeks with 8 teams means a clean double round-robin with no byes. But add just one accommodation request ("Team 3 can't play at 6pm") and suddenly you need to search through billions of valid arrangements to find one that's still fair and balanced.
You probably already tried ChatGPT
If you're reading this, you've likely asked ChatGPT to generate your schedule. And maybe at first glance it looked great. A nice table with all your matches filled in.
But then you noticed problems. Team 1 plays at 6pm six weeks in a row. Team 2 is stuck at 7pm every week. Week 8 has Team 3 scheduled for a double-header but there's no space for it, so now Team 7 randomly has a bye. The more you look, the more issues you find.
That's because ChatGPT doesn't actually solve problems. It's a prediction engine that generates text based on patterns. It makes schedules that look right but doesn't actually check all your constraints. It can't verify that teams are distributed fairly across time slots, or that double-headers are spaced properly, or that the schedule is actually balanced.
It's fundamentally the wrong tool for the job. So what's the right tool?
volley.love scheduling
volley.love was built specifically to solve this problem. Tell us your league setup and any team accommodation requests (like "Team 3 can't play at 6pm"), and we'll generate a fair, balanced schedule that actually works. No teams playing twice at once. No unfair time slot distributions. No hidden conflicts.
We use specialized scheduling algorithms (not AI prediction engines) that search smartly through the possibilities to find schedules that meet all your constraints. What would take you hours of frustration in a spreadsheet takes minutes with volley.love.
On top of that, volley.love hosts your schedule in the app so teams can see their match times. Players report their own scores and can see their standings update in real time.
Stop fighting with spreadsheets and broken AI tools. volley.love was built for exactly this problem. There's no payment required until your league starts, so you can generate and review your schedule with zero risk. Get your schedule sorted in minutes, not hours.