DesignEngineeringIn progress2026
ClubHost
A golf platform connecting private club members with golfers who want access, built solo end to end.
Business model and stack built; pivoting to a subscription competitive platform.
Visit clubhost.golf
TL;DR
01 / What it is
A golf platform I am building solo, end to end: product, design and full-stack code, with tokens that flow from Figma into the code, so the design system and the build stay in sync.
02 / Why it existed
Private clubs have empty tee times and keen golfers cannot get on the course. ClubHost connects the two.
03 / What I achieved
Business model and financials built, the stack architected and in build, and a pivot under way from marketplace to subscription competition.
Overview
ClubHost is a golf platform. It started as Airbnb for golf: private club members with spare tee times hosting golfers who cannot usually get onto their courses. It is now pivoting to a subscription platform built around competitive play. I am building it solo, end to end.
Why it existed
Golf access is broken. Clubs have spare capacity, members cannot always fill their tee times, and plenty of good golfers cannot get near a private course. The first idea was a trust-first marketplace: host present, verified members, Stripe identity checks, ratings. What I learned was that a marketplace needs more liquidity than an early market gives you, and that competing against other players keeps people coming back more than one-off bookings. So it pivoted.
My role
Solo design technologist: product, UX and UI, and the full-stack build. I wrote the business plan, from market and competitor analysis to a three-scenario revenue forecast, and I own the token system and the automation that turns Figma variables into code.
Approach
Engineering
Engineering
The stack is Next.js with strict TypeScript, Tailwind, Supabase, Stripe Connect, Resend and Vercel. Location search runs on PostGIS, the geographic extension for Postgres. Row-level security means a host can only see and manage their own listings. Stripe Connect splits each payment between the platform and the host.
The design-to-code flow is the engineering signature. Tokens are defined as Figma variables and converted automatically to Tailwind tokens. When the design system changes, the code changes. It is the same principle as the Nebula at Kinesis, applied to a solo build where there is no team to do the translation.
Design
Design
The token system is built in OKLCH, the same colour principle as the Nebula and the Edgeways Design System, and the automation keeps it in sync with the code. The product design covers three experiences: the host (listing, availability, earnings), the guest (search, booking, rounds) and the competitive platform (leaderboards, seasons, subscriptions).
Key decisions
Decision
P2P marketplace vs subscription competitive platform
- Why
- The marketplace needed more liquidity than the early market could provide. Competitive play is a stronger retention driver than one-off bookings, and subscription revenue is more predictable than transaction fees.
- What it cost
- A pivot mid-build; some marketplace work is reused, some is shelved.
Decision
Automated Figma-to-Tailwind flow vs manual token translation
- Why
- I am solo. Manual translation is a tax I cannot afford. Automating it means the design system and the code are always in sync, and I never have to remember to update a token in two places.
- What it cost
- Upfront build of the automation, and it needs maintaining.
Highlights
Outcome
The business model and financial projections are done, the stack is architected and in build, and the pivot to a subscription competitive platform is under way. The Figma-to-Tailwind flow works, so the design and the code never drift.
Learnings and what's next
A pivot is cheaper than a failed thesis. The marketplace idea was elegant, the market was not there for it, and the subscription model is less elegant and more viable. Fall in love with the problem, not the plan.
Next: the MVP for a closed beta, then public launch. The competitive platform is the priority, because it is what the marketplace never had.

