← All case studies

Private Membership · Golf

Epic Golf Club

From fragmented WordPress to a unified platform that runs the company.

// mess map
Epic Golf Club: before and after Before: WordPress site, WordPress database, Deprecated mobile app, App database, HubSpot, Spreadsheets, Google Workspace, disconnected from each other. After: One platform, HubSpot, Stripe, Twilio · SendGrid, Microsoft 365, connected to one platform. WordPress siteWordPress databaseDeprecatedmobile appApp databaseHubSpotSpreadsheetsGoogle WorkspaceMicrosoft 365StripeTwilio · SendGrid One platformSupabase core · web, iOS, AndroidBack office · 120+ workflows Epic Golf Club: before and after Before: WordPress site, WordPress database, Deprecated mobile app, App database, HubSpot, Spreadsheets, Google Workspace, disconnected from each other. After: One platform, HubSpot, Stripe, Twilio · SendGrid, Microsoft 365, connected to one platform. WordPress siteWordPressdatabaseDeprecatedmobile appApp databaseHubSpotSpreadsheetsGoogle WorkspaceMicrosoft 365StripeTwilio · SendGrid One platformSupabase core · web, iOS, AndroidBack office · 120+ workflows
BeforeMember data in three places that never agreed, reconciled by hand. AfterOne source of truth, with HubSpot and Stripe in automatic two-way sync.

The situation

When I took over technology at Epic Golf Club, a national private golf membership with over 1,000 members, the stack was actively working against the business. The member site was a brittle WordPress install, the mobile app was deprecated and down to a single working feature (a course map), and the company’s data lived in three places that never agreed: the WordPress database, the app’s database, and HubSpot. Staff spent their days reconciling systems instead of serving members, and no one could answer basic questions like “who is actually an active member?” without cross-referencing spreadsheets.

What I built

I rebuilt the entire platform around a single source of truth. Today, one React / React Native codebase ships the member experience to web, iOS, and Android simultaneously, backed by a central Postgres database (Supabase) that every system reads from and writes to. HubSpot and Stripe stay in bidirectional sync with that core automatically: membership records, addresses, club affiliations, payment methods, and subscriptions are consistent everywhere, all the time. The member experience went from “log in and hope” to a polished product: tee-time requests with concierge messaging, event registration with lotteries and waitlists, guest management, billing self-service, exclusive experiences, and more.

The bigger transformation was operational. I built the company a proprietary back office that runs the entire business: membership lifecycle from application through invite, checkout, onboarding, renewal, suspension, and cancellation; tee-time and host management; events with packages, refunds, and seat tracking; billing with automated fee handling and accounting-ready reconciliation exports; role-based access control and full audit logging. Behind it sits an automation layer of 120+ production n8n workflows handling payments, SMS and email messaging, reminders, HubSpot sync, anomaly alerts, and self-healing cleanup jobs, so routine operations happen without a human touching them. The whole platform runs on Azure (Front Door, static hosting, container apps) with Supabase, Stripe, Twilio, and SendGrid, with monitoring and alerting so problems surface before members notice. On the property side, I rebuilt the club’s network on enterprise-grade UniFi with segmented VLANs, proper firewalling, and centrally managed switching and access points, so the physical infrastructure is as reliable and secure as the platform running on it. I also moved the company off Google Workspace with a full G Suite to Microsoft 365 migration, and standardized the staff on Entra-joined HP EliteBooks, locked down with security policies and centrally managed through Intune.

Results

The result: a company that once ran on duct tape now runs on one coherent system, with data it can trust, a member experience worthy of a luxury brand, and an operations team amplified by automation instead of buried in manual work.

Recognize the before picture?

If your systems look more like the left side of that map than the right, that's the work I do. Get a quick read with the scorecard, or tell me what's going on.

Start a conversation → Take the 2-minute scorecard