- Client
- Somerset Country Club
- Role
- Product Design & Development
- Timeline
- 3 months
- Year
- 2023
- Category
- Web Platform
Overview
Somerset Country Club needed a digital presence that felt like the property — golf, events, dining, and contact — with a real admin, not a brochure theme. The product is an Expo web app on Firebase (`somerset-country-club`) with hole-by-hole flyover video, events, contact, login, and admin.
Why
A country club’s site is the digital front door for golf, events, dining, and members. Somerset needed a presence that felt like the course — premium, specific, and useful — not a generic hospitality template or a 2GB video bundle that never loads.
Hole-by-hole flyovers, events, contact, and maps are how the club talks to members and guests. An authenticated admin is how staff keep that current without filing a ticket.
The challenge
Somerset Country Club needed a premium digital presence that reflected the on-course experience — golf, events, dining, member communication — without a generic template or a 2GB video bundle.
What made it hard
- A generic club template would not match the on-course experience.
- Golf content needed to be cinematic (18-hole flyovers) without a multi-gigabyte bundle.
- Staff needed to run events and content without filing a ticket for every change.
Approach
We built Expo Web + Firebase Auth/Firestore with React Navigation. Hole videos moved to Firebase Storage so the app bundle was not carrying the media library. Google Maps and YouTube embeds support the club story; admin is a first-class screen.
Process
- Club IA: Home, Golf, Events, Contact, Login, Admin as a member-and-guest site.
- Golf media: Holes 1–18 flyover videos hosted on Storage instead of the JS bundle.
- Ops: Authenticated admin so the club can run the site.
What we built
- Golf hole flyovers: Holes 1–18 with cinematic flyover video — the core of the club story.
- Events + contact: Structured club calendar and inquiry flows instead of a PDF dump.
- Firebase admin: Staff login and admin screens so content is not frozen at launch.
- Maps + media: Google Maps and YouTube where they help guests, not as decoration.
How it was built
Expo Web with deep linking on Firebase Hosting. Hole-by-hole flyovers live on Firebase Storage so the video weight is not baked into the bundle. Events, contact, and maps sit in the same app.
Firebase Auth gates the admin. Staff can operate the site without a developer for every calendar change. The stack is the same Expo/Firebase pattern we use for other marketing-plus-ops properties, tuned for a club rather than a SaaS dashboard.
Stack
- Expo ~52 / RN Web: Public + admin web app
- Firebase: Auth, Firestore, Hosting, Storage CDN
- Google Maps: Club / course context
Outcomes
- 18: Hole flyover videos
- Admin: Firebase-authenticated CMS
- Expo Web: Member + marketing site
- Maps: Course and club context
Wins
- Expo Web member and marketing platform with deep linking.
- Hole-by-hole flyovers on Firebase Storage instead of a giant video bundle.
- Events, contact, and maps in one club site.
- Firebase-authenticated admin for staff updates.
Hard parts
- Premium, not generic: A template would have flattened golf, dining, and member communication into the same brochure blocks.
- Video weight: Flyovers had to stream from Storage. Shipping them in the JS bundle would have killed load.
- Staff ownership: The club needed to update events without an engineering ticket.
Services
- Expo Web + React Native Web
- Firebase Auth & Firestore Admin
- Golf, Events & Contact Sections
- Video Backgrounds & Interactive Map
- Calendar, Membership & Newsletter UX
- Deep Linking