"Fair rotation" is the most-promised, least-defined feature in karaoke software. Auto-KJ names the product the Fairness Engine and defines it. Here's a working definition — and the edge cases where most systems (and most tired KJs) quietly fail.
A definition you can defend at the bar
A rotation is fair when every singer can verify three things:
- Order is stable. My position never gets worse because of something someone else did.
- Arrivals don't cut. People who came after me sing after me — this round and every round.
- Everyone pays the same price per song. One song sung = one turn consumed, no matter whose name was called.
Simple. Until the real world shows up.
Edge case #1: The late arrival
Sarah joins at 10:40, mid-round-three. Where does she go? Top of round four feels tidy but makes her wait longest of anyone. End of round three is fairest — if it pushes nobody back. The correct rule: first available slot that costs no existing singer anything. Doing this correctly with 20 singers is exactly the kind of math a human gets wrong at 11 PM, and it's the core placement rule in the Fairness Engine.
Edge case #2: The duet loophole
Covered in depth in our rotation rules guide, but the short version: if both singers are in rotation, a duet consumes both turns. Software that doesn't model group songs (most of it) leaves this to the KJ's memory — and the KJ's memory is what singers argue with.
Edge case #3: The vanishing singer
Mike's up; Mike's outside vaping. If you wait, the room dies. If you bump him to the end, he lost his place for a two-minute absence. The fair rule is a skip, not a demotion: the next singer goes now, Mike slides one slot. And a singer who tells you they're stepping out should be pausable — frozen in place, resuming exactly where they were, invisible to the "who's next" logic while paused.
A group entry where every member is paused should be skipped — but a group with unresolved guests shouldn't be treated as paused. Yes, we've hit that bug. Yes, it's fixed.
Edge case #4: The song change
A singer changes their song five minutes before their slot. Fair systems treat this as modify in place — same slot, new song. Unfair systems (and flustered KJs) treat it as cancel + re-add, sending them to the back. And if the new song is rejected (someone already claimed it), the singer must keep their original slot — a failed change should never cost a spot.
Why software wins here
None of these rules is hard. All of them at once, live, is. The Fairness Engine applies every rule the same way every time, and — this is the part that actually stops arguments — shows the singers. When everyone watches the same live rotation from their phone, with their position and wait time, fairness stops being your word against theirs. It's just the screen.
Throw chaos at the Fairness Engine
The simulator runs in your browser. Throw a duet, two late arrivals, and a no-show at it and watch nobody lose a slot. Then get the Free version.