BadCaddie — an iPhone and Apple Watch golf companion using OSM course data

Hi everyone — I’m Steve, the developer of BadCaddie (listed as Bad Caddie on the App Store). It’s now available for iPhone with an Apple Watch companion, and I wanted to introduce how it uses OpenStreetMap golf-course data.

BadCaddie searches OSM courses and uses mapped golf features for hole maps, alongside GPS yardages, shot recording, scorekeeping and club suggestions that learn from recorded shot distances. It’s aimed at novice to average golfers, with optional spoken caddie commentary that can be supportive or sarcastic.

The OSM connection is particularly useful when a course has detailed fairways, greens and hazards mapped. Where information is incomplete, users can supplement it with personal course details. Those private additions stay on the device unless exported and shared: BadCaddie does not automatically upload them as OSM edits.

I’ve been reading about FairwayMapper and the other golf projects here. I’d welcome feedback from golfers and mappers on how BadCaddie represents their courses, which missing features matter most in practice, and how to help interested users find an appropriate route into contributing to OSM.

For transparency, this is a commercial app: exploration mode and one round are included, with an optional lifetime in-app purchase for unlimited rounds and course/round import and export. There is no subscription.

Thanks to everyone contributing golf-course data to OpenStreetMap. If you try it on a course you know, I’d be interested to hear what works and what needs improving.

Two questions :

  • is it a vibe coded app ?
  • How do you consume OSM data ? Overpass ?

Thanks for the questions.

BadCaddie started as a plugin I developed for the Even Realities G2 glasses. I’ve been a software developer for over 30 years, but writing everything from scratch can still be a pain. I used AI to generate the SwiftUI version, using the G2 app’s functionality as a starting point.

On the data side, yes—it uses both OSM Nominatim and the Overpass API. Recently used courses are cached.

Where course information is incomplete, users can add missing details and map features themselves. Those additions stay on their device unless they choose to export and share them; BadCaddie doesn’t automatically upload them to OSM. I’d welcome suggestions on helping interested users contribute their observations back to OSM appropriately.