Case studyMobile App

Pinmate

Finding a fourth for Saturday's round shouldn't take three group chats. Pinmate turns it into one invitation.

Year
2023
Client
Pinmate
Services
UX/UI Design · Mobile Development
Status
Design complete
Pinmate app

01Brief

What we were asked

A mobile app that helps golfers find compatible playing partners based on skill level, availability, preferred pace of play, and location.

02Challenge

Why it was hard

Organizing a round of golf is a coordination problem wearing a social one. You need people whose skill, schedule, and preferred course overlap with yours, a confirmed tee time, and - if the course charges - a payment. Today that's three group chats, a phone call to the pro shop, and someone fronting the green fee. Existing apps were either generic social networks demanding endless browsing, or club systems limited to existing members.

We needed to design an experience where a game comes together in a handful of taps: invitations that carry enough signal to say yes confidently (host's handicap, rounds played, the course, even the weather), course booking with payment attached, and coordination light enough that nobody has to maintain another social network.

03The Build

Scroll through the product

01Discover

Invitations with real signal

A game invite shows what actually matters before you commit: the host's handicap and rounds played, who else is in, the course, even the forecast. Accept or ignore with one tap - no back-and-forth to find out the basics.

Pinmate - Invitations with real signal

02The course

Know the course, know the company

Course pages pair the venue - holes, price range, route - with the players who'll be on it, each carrying handicap, rounds, and languages. Compatibility is visible at a glance instead of discovered on the first tee.

Pinmate - Know the course, know the company

03Book

Tee time to paid in one screen

Checkout is a single screen: tee time, course, phone, saved payment method, book. The design treats booking friction as the enemy - every extra step is a golfer who calls the pro shop instead.

Pinmate - Tee time to paid in one screen

04Coordinate

Chat that lives with the game

Every game gets its own thread, powered by Firestore's real-time listeners - lightweight coordination for tee times and pace, not another social network to maintain.

Pinmate - Chat that lives with the game

05Grow

Your regular group, systematized

Invite friends from contacts or socials and they become Pinmates - the people surfaced first when you create a game. The app grows the way golf groups actually grow: friend of a friend.

Pinmate - Your regular group, systematized

04Notes

The planned architecture

We designed the app around the game invitation as the atomic unit. An invite shows everything a golfer weighs before committing: who's hosting and their handicap and round count, who else has joined, the course with its rating and price range, and the forecast - accept or ignore in one tap. Course pages pair the venue with the players who'll be on it, so compatibility is visible before the first tee.

Booking closes the loop in one screen: tee time, course, phone, saved payment method, book. The checkout flow was designed against a simple enemy - every extra step is a golfer who calls the pro shop instead.

The suggested architecture uses React Native with Expo and Expo Router for cross-platform development. Firebase provides the real-time infrastructure: Cloud Firestore for games, profiles, and per-game chat via real-time listeners, Cloud Messaging for push notifications when invites and messages arrive, and Firebase Authentication for account management. Stripe handles course payments with saved methods.

Google Maps API with geolocation handles the where - distances to courses, member locations, and travel filtering. Zustand manages local app state while TanStack Query keeps games and availability in sync. The Pinmates friend graph feeds it all: invite friends from contacts or socials, and the people you actually play with get surfaced first when you create a game.

Suggested stack

Mobile
React NativeExpoExpo Router
Real-time
FirebaseCloud Messaging
Location
Google Maps APIGeolocation
Payments & Data
StripeZustandTanStack Query

05Outcome

Where it landed

Invite Signal
5+
Host handicap, rounds, players, course, weather
Booking
1 screen
Tee time to paid without leaving the flow
Screens
20+
Games, booking, chat, profile, and settings
UX
Focused
No unnecessary social complexity

06Craft

The work behind the work

More of the product: the guided first-run over the games feed, the club pages that carry courses and their players, the confirmation state that celebrates a joined game, the manage-players sheet for organizers, the Pinmate Pro membership pitch, and the payment history that keeps green fees honest.

Have a product like this in mind?

We plan, design, and ship - the whole story, start to finish.

Start a conversation

Next project

Petoria

Boutique Pet Grooming & Pet Hotel Website