A flag on a green beside a raked bunker, at sunset
Build in public6 MIN READ

What we got wrong building GoLo, from the commit log

The app’s own history, not our memory: what broke between the first commit in June and the 1.0.0 build in October, and what each fix taught us.

GoLo’s commit history is more honest than our memory, so this is built from it. It covers what broke between the first commit on June 18, 2026 and the 1.0.0 build prepared as a Google Play candidate on October 15, not yet in the store, and what each fix changed. You won’t find tester counts here. We didn’t keep records good enough to publish numbers, so there aren’t any.

Money in floating point

Every game started out computing its payouts in dollars, as floating-point numbers, and rounding each player’s line at the end. Any split left residue: a purse divided into antes, a team stake shared between partners, a carried skin split between tied leaders. A $10 purse across three players anted $3.33 each and paid out $9.99. The table no longer added up to zero, and a half-cent tolerance hid it.

On August 1 every game moved to whole cents. Dollars become cents once, every addition and split is integer math, and a split hands out the leftover cents so the pieces add back to the pot exactly. Whatever a player sees on the settle screen is what was computed.

Re-saving Setup deleted the presses

On September 26, reading the code during a review, we found that saving Setup again on a round already in play rebuilt every game from scratch and cleared the presses. The closures those presses had made went with them. Fix a typo in a player’s name mid-round, and settle-up would pay as if nobody had ever pressed.

It was fixed the same day. Saving Setup mid-round now keeps every press and closure, and a game with presses in play can’t be switched off or have its players or amount changed. Setup says so, and the round stays as it was.

A skins carry that paid out early

The live money view used to split a carry among the players tied on the latest hole, even in the middle of the round. After a tied 3rd it showed two players up $1.50 each; then the 4th went to someone else outright, and the money moved. All the while the label said the skin was riding.

Since September 28 a carry rides until the card’s last hole, and only a tie there splits it. The card says who split it and for how much. A live number has to be one the next hole can’t take back, so the screen now shows what’s riding, not what’s been won.

The smaller ones

  1. June 29: par as the default, counted only on Next

    Each hole opens at par so the scorer only adjusts. Before this, opening or just looking at a hole stamped par for every player. Now par counts when the scorer moves on or finishes, and stepping back never writes anything.

  2. October 6: no pressing from an old hole

    A press starts on the hole after the one on screen. Step back to an earlier hole and you could still call one, so it bet on holes already played, and with a close it froze the original match at the wrong score. Presses can’t be undone. The Press control now says to go to the latest hole first.

  3. October 7: re-agree only when the terms change

    Every save of Setup used to ask every player to agree to the bets again. Now that happens only when the terms actually change: a stake, a game, a player’s name or handicap, the card. A player’s colour doesn’t count, and neither do presses called during play.

  4. October 7: money to the cent

    Settled amounts read “$12.50”, not “$12.5”. A small thing, until it’s the number someone is about to send.

And one on our own website

Until October 16 this site said GoLo settles a group “in the fewest payments.” The app doesn’t promise that. It lines up who owes and who is owed, biggest first, and works down both lists. That never needs more than n − 1 payments for n players, but it isn’t always the minimum: balances of +4, +3, −2, −2, −3 come out as four payments where three would do. We corrected fifteen claims and the share card, and added a check that stops the claim coming back. The method, with a worked example you can check, is in building the settle-up screen.

Where that leaves the app

Setup is five steps, with every game starting at a $1 stake. One scorer enters the card, and any hole already played can be changed from the card view. Presses are called from a short sheet on the Overall Match and start on the next hole. Skins carries are automatic when carryover is on, which it is by default. The organizer can change a game’s amount mid-round in Setup: everyone agrees again, the new amount applies to the whole game, and a game with presses in play can’t be changed. A round that has ended settles into a short list of payments; GoLo never holds, moves or processes the money.

Some things aren’t in the app at all: GPS yardages, scorecard scanning, a chat, a feed of other groups’ rounds, shot stats. Everyone entering their own scores isn’t built yet. The full list of what works today and what doesn’t is on features, and one real round, start to settle, is on how it works.

SHARE THIS

GET IT BEFORE THE GROUP CHAT DOES

New format breakdowns, plus first crack at the app.

One email when something worth reading goes up. No drip sequence, no “re-engagement” campaign, and we don’t sell the list.

No spam, no selling your address. Unsubscribe from any email.

TRACK IT. BET IT. SETTLE IT.

Stop doing this math in the parking lot.