Tee Time Social

Tee Time Social

Designing for the awkward space before the tee time
Responsibilities

Secondary research, Product Strategy, UX/UI Design, Prototyping

Tools

Figma, Dovetail, Balsamiq

Timeline

14 weeks

Project overview

Getting a tee time rarely fails because of availability. It fails because of coordination.



Texts go unanswered. Group chats stall. Someone drops. Someone forgets to reply. The host ends up doing manual follow-ups—"Hey, you still in?"—while the tee time slowly falls apart.



The product challenge wasn't booking logistics. It was the socially uncomfortable space before the booking: the uncertainty, the unanswered messages, the quiet pressure of having to nag your friends. Tee Time Social was designed to remove that friction—not by asking users to manage people, but by building a lightweight system that does the uncomfortable work on their behalf, quietly, in the background.

Start with availability, not invites

Most coordination tools begin with "Who do you want to invite?" That's the wrong starting point. It forces the host to guess who's free, then wait for responses, then follow up when people don't reply. I flipped the sequence.



Users set their weekly availability first—which days work, which time windows (morning, late morning, afternoon, evening). This creates a living signal that stays current without requiring repeated check-ins.



Once availability is set, users can immediately see which friends overlap. The availability screen shows "8 friends available" in the morning slot, "2 friends available" late morning, "4 friends available" in the afternoon—with faces attached. The host isn't guessing anymore. They're selecting from people who've already indicated they're open to play.
This removes the guessing and replaces it with clarity.

Set your availability

Users choose which days and time windows work for them that week. Morning, late morning, afternoon, evening. It takes seconds and stays current without any back-and-forth. Once set, it becomes a live signal visible to their friends.

See who’s free

Instead of sending invites into the void, users see availability overlaps before reaching out. 8 friends free in the morning, 12 players available today. The guesswork is gone before the conversation even starts.

Make groups reusable, not disposable

Make groups reusable, not disposable

Golf groups tend to repeat. The same four guys play together most weekends. The same work friends try to get out once a month. Instead of forcing users to rebuild their invite list every time, Tee Time Social treats groups as lightweight social containers. Create a group once—"Bay Park Dads"—and reuse it. The group has its own chat, its own history of tee times, its own member list.

Members can be added or removed. Invitations remain opt-in to avoid pressure. Creating a group is intentionally fast and forgiving.



This design respects how real friendships actually work. It doesn't treat every tee time as a fresh coordination problem.

Give the host control without burden

Starting a tee time is where complexity creeps in. Different clubs, different group sizes, different player reliability. The host needs agency without it becoming another job.



The invite flow lets hosts set the logic once and step back. Choose an invite type — Roster (one-by-one until slots fill), First Come First Serve (fastest to respond wins), or Manual (hand-pick individuals). Filter by club membership. Sort by handicap, social score, or recently played. Set a response window. Drag to reorder the queue before sending.



What's normally an emotional judgment call becomes a transparent system the host controls but doesn't have to manage.

Let the systems do the follow up

This is the emotional core of the product. Once invites are sent, the system manages progression automatically—if someone declines or doesn't respond in time, the next person in the queue is invited. No nudging. No awkward texts.



The status screen is designed to reinforce this. At a glance, the host sees who's accepted, who's declined, who's queued, and how much time remains for the current invitee. The UI communicates momentum. Something is happening even if the host does nothing.

This screen turns anxiety into confidence.

Handle edge cases without breaking flow

Handle edge cases without breaking flow

Eventually, the system reaches moments where automation needs help.



If all queued players have been invited and no spot has filled, the product doesn't leave the host stranded. It prompts with a clear next step: "Invite more players." A modal appears showing available friends who weren't in the original queue. This keeps momentum intact without surprising the user or forcing them to start over.

When the queue runs dry, the system doesn't dead-end. It surfaces available friends who weren't in the original invite, lets the host select with one tap, and sends immediately. The slot gets filled without starting over or switching context.

The completion moment

Once all slots are filled, the experience intentionally compresses. Backup and declined players collapse to reduce noise. The confirmed group becomes the focus—four faces in a row, names listed, date and time and location locked in. A simple confirmation banner: "You're all set. Your group is confirmed" is seen upon next app launch.



The product ends the experience the same way it started: quietly. No celebration screen. No confetti. Just clarity. The tee time exists. Everyone knows. Done.

Brand & Marketing Site

I also designed the logo and a one-page marketing site to support early user acquisition. The goal was to communicate the core value prop—fill your tee time without the awkward coordination—quickly and clearly.

The outcome

Tee Time Social transforms a socially awkward process into a calm, guided experience.

It removes pressure from the host. It reduces friction between friends. And it increases the likelihood that tee times actually happen—because the system handles timing, order, and follow-ups on the user's behalf.

The best compliment this product could receive is simple: "It just worked."

What I Took From This

This project reinforced an important design lesson for me. Some of the hardest problems are not technical or logistical. They are emotional. Uncertainty. Hesitation. Social discomfort. The fear of being annoying. By designing for those feelings—not just the tasks—Tee Time Social turns coordination into something users barely have to think about.

That reframe changed how I approach product design. The most valuable thing a system can do is sometimes just absorbing the awkwardness so people don't have to carry it themselves.