THE HUSTLE
ENTER GROUP PASSWORD
Incorrect password
UNLOCK
Forgot password?
Enter master password to reset
Incorrect master password
SUBMIT
Set a new group password
SAVE NEW PASSWORD
Saved — use it next time you unlock.
CLEAR ALL SAVED DATA
This wipes the roster, scores, and settings on this device for good. Sure?
CANCEL
YES, CLEAR IT
THE HUSTLE
SETTLE UP
LIVE
OFFLINE · SAVED ON PHONE
{{ courseLabel }} · {{ roundTypeLabel }} · THRU {{ overallThru }}
{{ m.label }}
{{ g.text }}
🏆
GREENIE SWEEP — {{ sweepBannerName }}
Won all {{ sweepBannerTotal }} par-3s · tap to relive
{{ r.rank }}
{{ r.initials }}
{{ r.name }}
THRU {{ r.thru }} · {{ r.strokesLabel }}
OUT {{ r.front }} IN {{ r.back }} TOT {{ r.gross }}
{{ r.netLabel }}
{{ stMsg }}
{{ stUpLabel }}
{{ u.hole }}
{{ u.info }}
{{ u.who }}
BY PLAYER · {{ stModeLabel }}
TO COME
PLAYED
{{ sp.name }}
{{ sp.counter }}
{{ c.label }}
{{ c.label }}
{{ sp.nextText }}
Add players and enter scores to see net standings.
{{ m.label }}
{{ m.aName }}
{{ m.aNet }}
VS
{{ m.bName }}
{{ m.bNet }}
{{ sg.label }}
{{ sg.status }}
{{ g.name }}
{{ p.name }}
THRU {{ p.thru }}
{{ p.net }}
INDIVIDUAL · NET
{{ p.pos }}
{{ p.name }}
THRU {{ p.thru }}
{{ p.net }}
RULES FOR THE ROUND
{{ r.text }}
THE HUSTLE
SETTLE UP
ENTER SCORES · HOLE {{ currentHoleObj.n }}
EDITING PAST ROUND · {{ editingHistoryTitle }}
CANCEL
SAVE & RE-SETTLE
{{ m.label }}
{{ h.n }}
{{ h.n }}
Hole {{ currentHoleObj.n }} · Par {{ currentHoleObj.par }} · Handicap {{ currentHoleObj.si }}
{{ currentHoleObj.greenieLabel }}
{{ gc.initials }}
WOLF — {{ currentHoleObj.wolfSummary }}
{{ wc.initials }}
LONE WOLF
SANDIES — up-and-down from the bunker
{{ sc_.initials }}
POLIES — putt made longer than the flagstick
{{ pc_.initials }}
BARKIES — par or better after hitting a tree
{{ bk_.initials }}
CHIPPIES — up-and-down off the green with a chip-in
{{ cp_.initials }}
VEGAS TEAMS — tap to cycle blue / orange / none
NO PARTNERS THIS HOLE
{{ vc_.initials }}
T&A — flip on the tee box (tap to cycle T / A / none)
{{ tc_.initials }}
BINGO BANGO BONGO — first on, closest once all on, first in
BINGO — first on the green
{{ bc_.initials }}
BANGO — closest once everyone's on
{{ gc_.initials }}
BONGO — first in the hole
{{ nc_.initials }}
{{ p.initials }}
{{ p.name }}
● stroke here
−
{{ p.gross }}
+
INDIVIDUAL
TEAM
WHO IS CALLING THE PRESS?
{{ pc.initials }}
Tap each player to assign — cycles none → Team A → Team B
{{ pac.label }}
{{ pressTeamALabel }} CALLS PRESS
{{ pressTeamBLabel }} CALLS PRESS
{{ pressPickerLabel }}
SAVE & END ROUND
SAVE & NEXT HOLE
←
THE HUSTLE
WAGERING · GAMES & JUNK
{{ wizardTitle }}
STEP {{ setupStep }} OF 4
SCORING MODE
{{ m.label }}
GAMES
GROUP MATCH
Group vs group, Nassau style. Individual games stay within each group.
{{ gf.label }}
FRONT
BACK
OVERALL
Each losing-group player pays the amount to the winning group. Ties push. Name the teams and assign players in Let's Play.
NASSAU
FRONT
BACK
OVERALL
BEST BALL
{{ bestBall.sub }}
$
{{ bestBall.tiebreakCheck }}
Second Ball Breaks Ties
{{ g.label }}
{{ g.sub }}
$
{{ g.carryoverCheck }}
Carryover on Ties
6-6-6
{{ sixSix.sub }}
$
{{ sixSix.pairingsLabel }}
{{ grp.groupLabel }}
{{ seg.range }}
{{ seg.a }} vs {{ seg.b }}
JUNK
{{ j.label }}
{{ j.sub }}
PRICELESS
$
×
GREENIE SWEEPS
{{ greenieModeSub }}
{{ gm.label }}
ADD
←
{{ wizardNextLabel }}
{{ wizardStartLabel }}
←
THE HUSTLE
SETTLE UP · BASED ON HOLES ENTERED SO FAR
Enter some scores (and turn on games/junk) to see who owes who.
GROSS SCORES
OUT
IN
TOTAL
{{ gt.name }}
{{ gt.out }}
{{ gt.inn }}
{{ gt.gross }}
NET
{{ r.name }}
{{ r.amountLabel }}
WHO PAYS WHO
{{ t.text }}
BREAKDOWN
{{ c.key }}
{{ c.summary }}
{{ c.net }}
{{ c.chev }}
{{ r.hole }}
{{ r.detail }}
←
THE HUSTLE
CLUB DIRECTORY · {{ clubCountLabel }}
Every course you've downloaded, with its tees, ratings and slopes. Saved on this phone and backed up for everyone, so they work with no signal. To add one, pick a course in Round and tap SAVE next to its name.
No clubs yet. Pick a course in Round and tap SAVE to keep it here.
{{ cl.name }}
{{ cl.sub }}
PLAYING
PLAY THIS COURSE
{{ cl.teesLabel }}
{{ tt.tee }}
RATING
SLOPE
YDS
←
THE HUSTLE
HISTORY · ALL ROUNDS & TOURNAMENTS
{{ h.title }}
EDIT
DELETE
{{ h.chev }}
{{ h.date }} · {{ h.course }} · {{ h.format }}{{ h.editedLabel }}
EDIT SCORES
A round is in progress. Finish or clear it before editing a past round.
TITLE
COURSE
{{ p.name }}
{{ p.amountLabel }}
←
LET'S PLAY
{{ wizardTitle }}
STEP {{ setupStep }} OF 4
SESSION CODE
⚠ SYNC FAILING
Changes on this phone aren't reaching the shared feed. Other devices may not see them. Check the feed's Supabase/env setup.
Only phones on the same code see this round live. Share yours with your group — or enter someone else's to jump into their round.
{{ groupKey }}
JOIN
ROUND TYPE
{{ rt.label }}
TOURNAMENT LENGTH
days
TOURNAMENT NAME
COURSE
SYNCED VIA GOLFCOURSEAPI
{{ courseName }}
SAVE
SAVED ✓
{{ courseChangeLabel }}
{{ teeRatingsLabel }}
Compare with the course's scorecard or GHIN. Fix any number here and strokes update right away.
{{ tr.tee }}
RATING
SLOPE
{{ courseMissingNote }}
CLUB DIRECTORY · {{ clubCountLabel }}
→
Searching GolfCourseAPI…
Course lookup unavailable — check your connection and try again.
This phone has done 25 course searches today, so it stopped to protect GolfCourseAPI's daily limit. Courses in the Club Directory still work; searching opens up again tomorrow.
GolfCourseAPI's daily search limit is used up. Courses in the Club Directory still work; new searches will work again tomorrow.
No courses found. Try the club's name the way GolfCourseAPI lists it (e.g. "san jose country club", "cordevalle"), then add the city or state to narrow it.
{{ c.name }}
{{ c.sub }}
CURRENT
IN DIRECTORY
CLEAR ROUND INFO
ROSTER · {{ rosterCountLabel }}
{{ p.initials }}
{{ p.name }}
{{ gc.label }}
{{ p.activeLabel }}
REMOVE
IDX
TEE
CH{{ p.ch }}
STROKES{{ p.strokesToday }}
{{ ns.name }}
ADD PLAYER
SAVED PLAYERS · {{ savedPlayerCount }}
{{ savedPlayersToggleLabel }}
{{ sp.name }}
IDX
ADD
PLAYING
×
{{ addFormToggleLabel }}
Roster cap reached (15 players)
TEAM NAMES
{{ nr.key }}
{{ nr.count }}/5
Assign each player to A, B or C in the roster below.
CLEAR ALL PLAYERS
SUMMARY
{{ rv.label }}
{{ rv.text }}
EDIT
RULES FOR THE ROUND
{{ rp.check }}
{{ rp.label }}
{{ rc.check }}
{{ rc.text }}
×
ADD
Checked rules and anything typed here show on the Scoreboard.
CLEAR ROUND
This clears all scores and every bet on the table (games, junk, presses, RRC, greenie sweep) and the player list. Players stay saved, so their names fill in as you type them next time. Course and bet settings stay put. Sure?
CANCEL
YES, CLEAR ROUND
RESET ROSTER, COURSE & SETTINGS
This clears the entire roster, resets the course to none, and puts every wager setting (games, junk, scoring mode, round type) back to default. This is more than clearing a round — sure?
CANCEL
YES, RESET
←
{{ wizardNextLabel }}
{{ wizardStartLabel }}
{{ mi.label }}
Phone storage is full, so this round is not being saved on this phone. Free up space on the phone or delete old rounds in History.
{{ setupNoticeTitle }}
{{ setupNoticeBody }}
OK
{{ setupConfirmTitle }}
{{ setupConfirmBody }}
CANCEL
{{ setupConfirmAction }}
{{ n.label }}
ROUND RULES
{{ r.text }}
No rules set for this round. Add them on the Start step under Rules for the Round.
CLOSE
Remove saved player?
{{ savedPlayerAskName }} will no longer fill in when you type their name, on every phone. This doesn't change any rounds in History.
CANCEL
REMOVE
Delete this club?
{{ clubDeleteName }} will be removed from the Club Directory, along with its tees, ratings and slopes. You'll have 30 seconds to restore it.
Incorrect password.
CANCEL
DELETE
Delete this round?
{{ historyDeleteName }} will be removed from History, along with its scores and results. You'll have 30 seconds to restore it.
CANCEL
DELETE
{{ historyUndoText }}
RESTORE · {{ historyUndoSeconds }}s
{{ clubUndoText }}
RESTORE · {{ clubUndoSeconds }}s
Already in your Club Directory
{{ clubDupName }} is already saved. Use the saved version, or download it again to replace the saved tees, ratings and slopes with GolfCourseAPI's current data.
USE SAVED VERSION
DOWNLOAD & REPLACE
CANCEL
STROKES ON #{{ strokeToast.hole }}
{{ strokeToast.names }}
DISMISS
PRESS CALLED
{{ pressToast.line }}
DISMISS
End the round?
The round will be saved to History, and you can still edit scores there afterward. Bets and Settle Up update automatically.
END ROUND
BACK TO SCORECARD
RRC AWARDED
{{ rrcToast.winner }}
{{ rrcToast.line }}
CLOSE
GREENIE SWEEP
{{ sweepToast.name }}
{{ sweepToast.line }}
CLOSE
GREENIE SWEEPS ARE STILL IN EFFECT
{{ sweepAliveToast.name }} — {{ sweepAliveToast.line }}
DISMISS
GREENIE SWEEPS ARE DEAD
{{ sweepDeadToast.line }}
DISMISS
{{ carryToast.title }}
{{ carryToast.line }}
GREENIE SWEEPS STILL ALIVE
{{ carryToast.sweepLine }}
DISMISS