Golfy - Golf Score Keeper
Inspiration
Last year I built Racketly, an app that tracks scores and analyzes matches for racket sports like padel, tennis, pickleball, badminton, and squash.
I wanted to bring the same idea to a new sport.
After looking around, golf caught my attention. It’s social and full of numbers you can measure, but most players still use paper scorecards and guess how to improve their swing.
Golf is also a big market, so I saw a great chance to build something useful and help players enjoy the game even more.
What it does
Golfy is an all-in-one companion for golf and mini-golf that:
- Tracks scores seamlessly on Apple Watch and iPhone, no paper, perfect sync.
- Automatically starts a Golf workout in HealthKit/WorkoutKit to log calories, heart rate, and distance walked.
- Uses CoreMotion to count swings and capture motion data so the app’s AI can analyze your entire match. Powered by Gemini.
- Offers an AI Swing Coach powered by Gemini: record your swing and get instant feedback on posture, tempo, and follow-through.
- Lets you invite friends, view their profiles and match history, and receive real-time notifications with OneSignal.
- Handles premium AI features and subscriptions through RevenueCat.
How we built it
- SwiftUI codebase shared across iOS and watchOS.
- HealthKit & WorkoutKit for real-time biometric tracking.
- CoreMotion to detect swings and measure distance.
- Gemini to process swing videos and generate coaching feedback.
- OneSignal for push notifications to manage friend invitations.
- RevenueCat for secure, scalable in-app subscription management.
- NodeJS for the backend server.
- Postgres for the DataBase.
- Coolify for deploying the server.
Challenges we ran into
- Ensuring real-time sync between Apple Watch and iPhone with WatchConnectivity.
- Designing a UI that feels equally natural for casual mini-golfers and serious golfers.
- From a recording, get the frames of it, send it to the server in batches, store them in R2 Cloudflare and then, use Gemini API to provide feedback, was a big challenge.
Accomplishments that we're proud of
- Built a working AI Swing Coach in a single hackathon.
- Brought the proven concept of Racketly to an entirely new sport.
- Created a seamless social experience friend invites and profiles powered by OneSignal.
What we learned
- Prompt engineering and efficient API design for Gemini to handle video analysis.
- The creation of an SPM package to reuse most of the components from Racketly in Golfy making the development of any of my apps, really quick.
What's next for Golfy
- Stronger AI coaching: give players deeper, more helpful feedback so Golfy feels like a real personal coach.
- Live leaderboards: show scores in real time for tournaments, group games, and also keep a leaderboard for each course.
- Course directory: let players pick a course and have the par setup fill in automatically, no manual typing needed.
Built With
- ios
- node.js
- postgresql
- swiftui
Log in or sign up for Devpost to join the conversation.