Lynx. A golf app designed to disappear
Updated: 4 hours ago

ROLE
Founder & Product Designer
SCOPE
Product strategy, UX & UI, Prototyping
TOOLS
Lovable and Claude
YEAR
2026
I don’t golf as much as I want to. That’s the honest starting point for Lynx.
Time and money matter. But the bigger hurdle is coordination. Checking four course websites, comparing them against my calendar, texting three friends to see who’s free, and then going back to find the 7:40 is gone. By the time a round comes together, half the motivation has leaked out of it. Most weeks it doesn’t come together at all.
Lynx is a mobile app that tries to remove that friction. It shows you tee times at the courses you care about, inside the windows when you’re actually free, and tells you which of those times work for your friends too. Then it gets out of the way.
I work through product decisions with a framework I’ve been developing called the 3 C’s. Clarity is the fundamental truth under the request. Character is the convictions and feelings the builder owns, the stuff nobody can hand you in a stakeholder deck. Craft is the architecture that solves the class of problem and stays accountable to the Character. This case study follows those three, because that’s how the decisions actually got made.
Clarity. The problem under the problem
My first framing was aggregation. All my courses, my availability, one feed.
But the more I looked at it, the less that held up. Aggregating tee times is already a crowded space. GolfNow does it. Most courses have their own booking. Another feed of times wasn’t going to change how often I played.
So the problem shifted. The hard part of golfing more isn’t finding a time. It’s finding a time that works for me and the people I’d want to play with.

I work through product decisions with a framework I've been developing called the 3 C's. Clarity is the fundamental truth under the request. Character is the convictions and feelings the builder owns, the stuff nobody can hand you in a stakeholder deck. Craft is the architecture that solves the class of problem and stays accountable to the Character.
Character. Invisible on the course, considered off it
The strongest conviction I have about Lynx is that it should disappear.
That one belief ended up doing a lot of work. I use 18 Birdies, and I like it. It’s a rangefinder, a scorecard, a stats engine. Lynx is not that, and deciding it would never be that ruled out a whole category of features before I designed any of them. No scoring. No GPS. No round tracking. Nothing to do during a round. No activity feed. No nagging.
In practice, invisible turned out to mean small. A few courses, a few friends, a few things worth having. Small is how the invisibility shows up on the screen. Every time I was tempted to add something, the real question was whether it made Lynx louder.
Member profiles follow the same logic. They lean toward how someone likes to play. Do they like music in the cart? Walk or ride? What’s their handicap? A few details you can glance at before the round so the four hours go better for everyone. It’s less social network and more a small act of hospitality.

Craft. The decisions that shaped the screens
The core building block of Lynx is the availability window. Time, place, and people, answered in one feed.
Home sorts courses by the soonest available time blended with proximity, not alphabetically. Each course gets a photo header and a horizontal row of compact time chips showing the time, the price, how many spots are open, and whether it’s 9 or 18 holes.
I tried a “starting at” price on the course header early on and cut it. If you tap a time expecting $35 and it’s $62, the app just lied to you a little. That turned into a rule I now apply everywhere in Lynx.
Never show a summary number that could turn out to be false for the specific thing someone picks.

So every chip shows its actual price.
Friend availability shows up as stacked avatars on the times that work, tappable to see who’s free. It’s a signal, not a sort factor. That one was deliberate. Friends should make a match better, but they should never be required for one. Solo golf is still golf, and the app has to work on day one when you don’t have a single friend on it yet.

The step after "Jake is free"
Running the 3 C’s surfaced a gap I hadn’t designed yet. Seeing that a friend is free is not the same thing as a booked foursome. Who sends the invite? Who books? Who eats the cost if someone drops? That’s where the coordination pain actually lives, and the prototype mostly stopped right before it.
Going back through Clarity, two modes fell out pretty naturally. The first is host books for everyone. Everyone’s free, I already booked it, let’s plan on it. The host takes on the risk and finds a fill-in if somebody drops. The second is book mine and rally. I grabbed my spot, come join me. Less risk, less certainty.

Either way, the invite goes out as a group text. Your friends get pulled in by a text, not by being made to open an app. A friend without Lynx still gets the invite and a link to the round.
That’s why phone numbers are required. It’s the biggest thing Lynx asks of anyone, and in an app built around not asking for much, I didn’t take that lightly. But the phone number is what lets the invite live where your friends already talk. Without it, coordination falls back into an app nobody wants to open.
That’s the trade, and I think it earns it.
The same idea shapes how Lynx grows. You meet someone on the course, you hit it off, and instead of trading numbers you’ll never use, they scan your code. The pitch isn’t “download this app.” It’s “scan this and you’ll know when I’m available to play.” It’s a personal invitation, not marketing. Between the QR code and the group text, Lynx grows the way golf already does. One person bringing another.
And if the app is invisible, the one time it speaks up has to count. Lynx sends one kind of notification. A time just opened at a course you like, and it works for you and two friends. That’s it.

The Pro Shop. Small is a feature
Lynx has one commerce surface, a tab called the Lynx Pro Shop. It’s a short, flat list of gear that made the cut. No categories, no pop-ups, nothing pushed into the feed. I even dropped the dark, gold-accented look I first had in mind, so the shop would feel like part of Lynx and not a storefront bolted onto it.
It runs on affiliate links for now. A revenue model tied to people actually going golfing, instead of ads or selling data, keeps my incentives lined up with theirs.

Where it stands
Lynx is a working prototype, built in Lovable. Home, availability windows, friend connections, profiles, invites by link and QR, and the Pro Shop all work. Building it in Lovable meant I could put a real app in friends’ hands instead of a clickable mockup, and a handful of them have signed up through shared links.
But friends signing up isn’t real signal. Friends are nice to you. The next test is putting QR cards at a local course and seeing whether total strangers can find the app, get onboarded, and invite someone else. Until that loop works with people who don’t know me, I’m holding off on the backend buildout and anything that looks like scale. I’m also taking a one-pager and the prototype to my home course’s pro shop to pitch filling their slow tee times.
I don’t know yet if strangers will scan the code. That’s the honest answer. But I can point at that list above and tell you exactly which belief ruled out each thing on it. And I think that’s the part of this project I’m proudest of.


Comments