The Saturday Game a Course Can Trust
A practical plan for running a weekly golf game from signups to reviewed results, without losing the golfers or the prize record along the way.
September 29, 2026
Play money
cfUSD is play money with no cash value.
Features
A single unanswered invite could freeze the Start button on the web app for your whole group. We shipped the fix: pending players no longer block a round.
The CutAugust 17, 2026 · 4 min read
Keep Reading
A practical plan for running a weekly golf game from signups to reviewed results, without losing the golfers or the prize record along the way.
September 29, 2026
caddie.fun's app now fills in your usual course, crew, format, and stakes before you tap a thing - and every line is one tap from the full setup.
September 21, 2026
The newest way to log a round: photograph your paper scorecard, let the app read every hole, fix what it's unsure about, and skip re-keying 18 numbers.
September 14, 2026
Get Started
Track scores, settle bets, and get AI coaching - all in one app.
Free to play · Stakes optional
Run a golf course? CaddieOS by caddie.fun is golf league and tournament software for golf courses.
You are standing on the first tee. Four of you are ready: scores set, tees picked, handicaps in. The app will not let you start. The problem is not any of the four of you. It is the fifth guy, the one you invited on Tuesday who never tapped a thing. Until this week, on our web app, one unanswered invite could hold an entire round hostage at the Start button. We shipped the fix.
Before a round begins, the group settles its setup in the lobby: each player confirms a teebox, a handicap, and approves the round settings. The Start button stays locked until the group is "ready." Reasonable. The bug was in how the web lobby decided what "the group" meant.
It counted readiness across every participant attached to the round, including people you had invited who never responded. Those invitees sit in a PENDING state, and a PENDING player can never mark their settings approved, for the obvious reason that they have not opened anything. So the readiness check could stay stuck, red, forever, blocked by a person who was not even playing. One unanswered invite and the button that starts your round simply would not turn on.
To be square about the scope: this was a web-app bug specifically. Our server and our mobile app already handled it correctly, counting only the players who had actually accepted. The web lobby was the odd one out, asking "is everyone ready?" over a group that included people who by definition could never be.
A gate is only as honest as the set it counts.
A readiness check that waits on someone who never showed up is not being strict. It is just broken.
The fix is one idea: only count the people who are actually in. We now filter the readiness check to accepted participants first, the folks who joined, accepted, or created the round, before asking whether everyone is set. An invite you fired off into the void is exactly that, an invite, not a participant. It still shows up in the group. That person can still say yes later and jump in. But it no longer holds a veto over whether the rest of you can tee off. That matches what the server and the mobile app were already doing, so now all three parts of the product agree on one plain rule about who counts.
The entire change is a single decision, made one step earlier than before: filter to the people who accepted, then check if they are ready.
The tell that this was the right fix and not a patch: we did not bolt on a "force start anyway" escape hatch, and we did not add a timer that guesses when to give up on the invitee. We changed the definition of who the gate looks at so it matches the definition the rest of the app already used. The bug was three parts of the product quietly disagreeing about one word, "participant." The fix was making them agree.
Running your group's rounds through one app only works if the app's idea of "ready" lines up with the tee box's idea of ready. Four people standing on the first tee are ready to play whether or not a fifth ever answers, and now the software knows it too.
If you want your group's rounds to start when the group is actually there, that is the part we treat as table stakes.