
Who
I run Hurley US as the parent company for a golf-media and SaaS portfolio. Clubs do not buy a story about the future of golf. They buy membership revenue.
This site is for private and resort club operators who treat acquisition as a lever, and for builders who want to see how a parent domain can stop performing brand theater and still keep the ecosystem pages in the repo.
What
I shipped hurleyus.com — private repo under HurleyUS, public site on Vercel.
Live / mounts HomeA: membership growth for private and resort golf clubs. Compensation tied to incremental revenue. No upfront fees. Call CTA to (828) 269-8280. Named proof: Linville Land Harbor Golf Club and Laurel Ridge Resort & Country Club. Sticky mobile call bar.
Stack at HEAD (ac2327f, package.json 0.1.0): Next.js 16.1.6, React 19, Bun, Tailwind v4, shadcn/Radix, Resend, Sentry, Convex client that no-ops without a real NEXT_PUBLIC_CONVEX_URL, PostHog that no-ops without a key. README still says Next 15 — deps say 16.

Still in the tree: HomeB — Growing the game together, iLeague / iTour / iCon pillars. Not what / renders today.
Lead forms on partners / sponsors / investors / contact hit /api/email with Zod validation and an in-memory IP rate limit (5/min). Booking hits /api/booking and emails an ICS. From: notify@uncap.us. Owner: contact@hurleyus.com.
Clerk routes /sign-in /sign-up are TODO stubs — no @clerk/* in package.json. Stripe exists as a cursor rule doc, not a dependency.

Where
Production: www.hurleyus.com. Apex 301 to www. Verified 2026-09-08: X-Robots-Tag: index, follow, CSP, HSTS, sitemap for home + partners/investors/sponsors/about/contact.
Quirk: root layout metadata still titles the site Growing the game together while the body is HomeA — page.tsx imports HomeA without re-exporting its metadata.

When
2025-11-25. Create Next App.
December 2025. Theme, copy, A/B homepage (membership lander vs media ecosystem).
2026-02-05. Page-B set as permanent homepage. Within two weeks the split collapses; / is HomeA only. Resend from notify@uncap.us. Booking form. Static/ISR pass.
2026-02-22 → 04-03. Convex schema typed. Messaging Phases 1–3 through real-time subscriptions.
2026-05-13 → 15. shipprep + Blacksmith CI + deploy health.
2026-08-08. ac2327f — X-Robots-Tag index, follow. 109 commits total.
Why
A parent domain that only tells the influencer story leaves club operators with nothing to buy. HomeA is the commercial door: own the acquisition pipeline, get paid on incremental membership revenue, stay discreet.
I kept HomeB in the repo because iLeague / iTour / iCon are real product mythology — just not the / bet right now. The A/B history is on the record: we tried always-B, then shipped always-A.
The stack is honest: Convex and PostHog degrade. Clerk is a TODO. Stripe is a doc. Indexing was the last commit because a public site still needs to be findable.
