Bogey Boys

From manual scorecards to an autonomous golf league.

Role
Solo Product Designer & Builder (Product Strategy, UX/UI, Prototyping)
Duration
Sep 2025 – Present
Platform
Mobile Web (PWA) • iOS Native (In progress)
Outcome
288 scorecards submitted and auto-verified in Fall 2026 with 0 manual intervention (down from ~960 manually verified cards across previous seasons).

Overview

Bogey Boys is a 40-player competitive golf league in Mérida, Mexico. Operating with zero budget and spotty on-course cell coverage, the league previously relied on players texting scorecard photos via WhatsApp, followed by hours of manual data entry in Excel.

I designed and shipped an offline-ready PWA that captures scores hole-by-hole, automates peer verification, and handles live rankings with zero administrative overhead.

1. The Real Problem: Don’t optimize verification, fix capture

Initial attempts to fix the manual Excel workflow focused on automating card verification (using Notion and OCR models to parse handwritten photos). While this cut manual reading time, it was solving the wrong problem.

The real opportunity was shifting from downstream auditing to upstream, error-proof data capture. When scores are structured and validated at the source, verification becomes instant.

The home screen of the app: the player's handicap, their ranking, best round and rounds played, this week's leaderboard with handicap, gross and net per player, and a button to start a round.
Home: the week's leaderboard and one button to start a round

2. Designing for Field Realities

Designing for golfers on an active course meant solving for sweaty hands, high glare, interrupted rounds, and network instability:

Collaborative Scoring (Building on existing habits): I initially designed a designated “Scorekeeper” role. Field observation quickly showed that players hated bottlenecking score entry on one person. Borrowing from habits established in other popular golf apps, I removed fixed roles so anyone in the group can log anyone’s score. Result: half of all hole entries were recorded by someone other than the player.

The feed screen of the app: each round is a group selfie from the cart with the day, then the scorecard hole by hole in golf notation and the net result per player.
The feed: a selfie and the live scorecard of every round

Resilient to Signal Drops: Cell reception often cuts out across parts of the course. The UI caches inputs locally and provides clear, discreet system feedback (pending sync dots) so players know their data is safe. Finalizing a card simply pauses until a stable connection returns, preventing partial submissions.

Frictionless Verification: Golf leagues rely on official handicaps (GHIN). Instead of asking players to self-report and manually audit screenshots, I integrated direct handicap fetching via API with an automated screenshot fallback. First-try verification went from 94% with screenshots to 97% with the API. Players loved the change most: no more taking a screenshot in GHIN, saving it and uploading it to close a card.

3. Behavioral Insights & The Edge Cases

Intentional “Abandonment”: Data showed that ~11% of scorecards triggered an automatic midnight penalty (144 strokes). User interviews revealed this was not an onboarding drop-off or a forgotten flow. Since the tournament only counts players’ top rounds, some golfers deliberately abandoned bad rounds to absorb the penalty. Designing rules around player psychology proved just as critical as designing the UI.

Social Accountability over Auditing: Instead of policing players, the app introduced a real-time feed featuring live leaderboards and round-start group selfies. Social visibility replaced administrative enforcement (groups posted a selfie in 134 of 140 rounds).

4. Reflections & Next Steps

  • Rules should govern behavior, not bugs: Early on, abandoning a broken round carried a penalty, inadvertently punishing edge cases and bugs. Separating game policy from error states was an early design lesson.
  • Next: Transitioning the PWA into a native iOS app focused on league engagement, adding push alerts when groups tee off and async comments per round.

Open to full-time roles · Mexico · Remote, Central Time