
Next.js • AWS Amplify Gen 2 • DynamoDB
Riverbend Golf Course
Moved tee-time reservations online for a public golf course in West Virginia.
- Client
- Riverbend Golf Course, Buckhannon, WV
- Role
- Solo build
- When
- Jan 2026 – present
The problem
A 9-hole course in Buckhannon, West Virginia was taking tee times by phone during pro-shop hours. Anyone deciding to play at 9pm had to wait until morning to find out whether a slot existed.
Constraints
- —The course already ran card payments through Clover, so that had to stay
- —Two things share a calendar: outdoor tee times and indoor simulator bays
- —Golfers decide on the weather, so conditions had to be on the booking screen
What I built
A Next.js booking system on AWS Amplify Gen 2: live availability for 9 and 18 holes, simulator bay booking, Clover payments, Cognito accounts, and a Lambda that sends email and SMS confirmations and reminders through SES and SNS.
Decisions I'd defend
Integrate Clover rather than move the course to Stripe
Stripe would have been the easier integration by a wide margin. But the pro shop already runs its in-person terminal on Clover, and splitting payments across two processors means two reconciliations every month for a small operation. The right call was to absorb the harder integration rather than hand the client ongoing bookkeeping work.
What changed
Tee times are bookable around the clock, and the pro shop stops fielding scheduling calls to do it.