Back to work

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
Next.jsAWS Amplify Gen 2DynamoDBCloverSNS
Visit the live site

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.