Caddie

Custom Garmin watch app and web dashboard

Project Scope

I have a Garmin Approach Watch, which is great for live yardages, but knew there was more I could get out of my setup.
Some things I knew I wanted to change:

  • Basic stats for fairways and greeens hit need to be manually entered after every hole
  • No advanced stats like driving distances, iron accuracy, sand saves, etc.
  • Garmin Forerunner is my daily watch, the Approach is a 2nd watch to wear

I realzied that Garmin Forerunner watches have pretty accurate GPS - and this is actually all we need to build a comprehensive golf app.

Watch App - On the course

One button per shot. Everything else is automatic.

Watch hole view

Front, middle and back yardages from actual green geometry.

Watch hole map

Minimap showing position on the course - shots are tracked in real-time

Watch scorecard

Scorecard shows live scores without needing to add them up. Stableford points automatically calculated.

Web Dashboard - After the round

Review every shot and how it's affecting your score

Handicap index and game analysis

Handicap index over time, full course history

Hole replay on satellite imagery

Every shot, replayed on satellite imagery.

Strokes gained breakdown

Strokes gained, split by category — reconciled to the scorecard.

How it works

The watch logs a GPS position for every shot and syncs the round over Wi-Fi. A small server scores it — course handicap, stableford, strokes gained. Course maps are built from OpenStreetMap. Greens, fairways, bunkers and teeboxers are drawn polygons and hand-corrected hole by hole. GPS is checked against the map geometry to determine fairways hit, GIR, sand saves, driving accuracy, etc. App is live with a few friends as multiple users.

Garmin Connect IQ (Monkey C)  ·  PHP + MySQL  ·  React + TypeScript  ·  OpenStreetMap
Built using Claude Code.

Open the live app

Link to the app - you'll land on a sign-in screen.