Case study · Coursework

Study your game.

Track every round, shot by shot. Built for student golfers and their coaches — practice, tournaments, anything in between.

Visit the live site

Role

Design + build, end to end

Year

2026

Stack

Next.js · AWS Serverless

Status

Live

The brief

It started with my niece.

My niece plays competitive student golf and wanted a better way to track her rounds — shot by shot — and actually see how she was progressing without bro-talking through group chats, living in spreadsheets, or emailing every round to her coach. What began as a personal tracker for her morphed into something built for her and her coach together: same rounds, same data, two perspectives. Coach sees the roster, player sees the transcript, and “office hours” stops being a Google Sheet.

From there it grew. Anyone she trusts can claim a scorekeeper code for that round and log her shots in real time — dad on the cart, a buddy on the bag, a sibling at the clubhouse. Family, friends, or a remote coach who can't make it to the course get a live follow link: tap it, watch the scorecard update hole by hole, read the notes the scorekeeper drops along the way. No account, no install. It also handles tournaments end-to-end: leaderboards, attestations, and admin tooling. But the spine hasn't changed: one place where a player tracks her own game, and the people invested in her can see what's actually happening.

Design

A brand built end to end with Claude.

The product needed an identity, not just a logo. Working alongside Claude, the full brand came together from scratch: a heraldic shield that nods to old-world golf clubs without feeling stuffy, a tagline that reads as encouragement (“Study your game.”), and a palette built around a fairway-green that holds up against course photography, a cream that reads clean against UI chrome, and a single accent gold for moments of celebration on the leaderboard.

Brand kit

#2A4233

Fairway green

#FBFAF4

Cream

#E0C548

Pennant gold

Architecture

Static frontend, serverless backend.

Coursework runs as a static SPA on CloudFront, talking to an AWS HTTP API Gateway in front of 30 Lambda routes (Node 20). State lives in a single DynamoDB table. Auth runs through Cognito. The whole stack scales to zero when nobody's using it, which makes the cost profile of a small-tournament- season service nearly free at idle.

  • CloudFront + S3

    Global CDN serving the SPA

  • API Gateway HTTP

    Edge for the 30 Lambda routes

  • DynamoDB

    Single-table design, all state

  • Cognito

    User pool + auth flows

What's inside

Features.

  • Rounds + shot-by-shot tracking
  • Tournament leaderboards
  • Team management
  • Per-round scorekeeper claim codes
  • Player + coach views
  • Live follow links — family, friends, or coaches watch any round, no account needed
  • Stats reporting
  • Admin user management
  • Activity audit log

Real screens

What it looks like.

Coursework player views: at-a-glance home, hole-by-hole scorecard, and the strokes-gained transcript view
For players — at-a-glance, scorecard, transcript
Coursework coach view: roster at a glance with player progress, notes, and lesson scheduling
For coaches — roster, notes, lesson plans

See it in action

Live at coursework.prosperdonkey.com

Visit the live site