# Good Data For Bad Golf

DevFeed: [Good Data For Bad Golf](<https://devfeed.tech/articles/good-data-for-bad-golf-27477.md>)

Original publisher: [Read original article](<https://jerrygamblin.com/2026/05/13/good-data-for-bad-golf/>)

Author: jgamblin

Published: 2026-05-13T14:05:06Z

Content type: article

Language: en

Sources: [Jerry Gamblin](<https://devfeed.tech/sources/jerry-gamblin.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [CSV](<https://devfeed.tech/topics/csv.md>), [GitHub Pages](<https://devfeed.tech/topics/github-pages.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>)

Tags: [analytics-pipeline](<https://devfeed.tech/tags/analytics-pipeline.md>), [csv](<https://devfeed.tech/tags/csv.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [github-pages](<https://devfeed.tech/tags/github-pages.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [python](<https://devfeed.tech/tags/python.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

## AI overview

The article presents jgamblin/golf, a self-hosted Python analytics pipeline that converts Garmin Golf app CSV exports into a multi-page GitHub Pages dashboard. It describes features including session analysis, club-level consistency, session replay, gapping, coaching recommendations, and data-quality tracking, with deployment automated through GitHub Actions.

## Source excerpt

I play golf. I am not good at golf. But I have a Garmin Approach R10 launch monitor, a Python interpreter, and too much free time, so naturally I spent way more time building a dashboard to analyze my swing data than I did actually swinging a club. The result is jgamblin/golf, a self-hosted analytics ... Read more