Open source golf
Every shot, every course, out in the open.
Open source golf. A shot tracking app for iPhone and Apple Watch, the tools that map the courses, and the course data itself.
The projects
SpotGolf is built in the open on GitHub. Each project below is free to use, read, and improve.
SpotGolf
iPhone and Apple Watch app
Tracks your round from your wrist. It finds your swings and putts from the watch's motion and sound, marks where each shot landed, and keeps your score, putts, and club distances.
SpotGolf/SpotGolf

CourseBuilder
macOS app
Builds the map of a golf course. Import the scorecard and OpenStreetMap shapes, draw tees, greens, fairways, bunkers, and water over aerial imagery, then export the course for SpotGolf.
SpotGolf/CourseBuilder
CourseData
Course data
The community-built library of golf course maps that SpotGolf downloads. Each course is a gzipped JSON file made with CourseBuilder. Add a course by opening a pull request.
SpotGolf/CourseData
CourseDataSwift
Swift package
Swift types for course data: courses, holes, features, and coordinates. Use it to read CourseData files in your own app.
SpotGolf/CourseDataSwift
SensorSources
Swift package
The accelerometer, motion, and microphone of a watch or phone behind one protocol, with mock sources that play recorded clips so sensor code runs unchanged in the simulator.
SpotGolf/SensorSources
How they fit together
CourseBuilder
Map a course
CourseData
Share the map
CourseDataSwift
Read the map
SpotGolf
Play the round
SensorSources feeds the watch's motion and sound into SpotGolf to find each swing and putt.