baycountydiscgolf.com

The club's 2026 platform. A public site with this season's calendar and four courses, a supporter portal with a handicap computed from league rounds, and the league-night tools behind it. One repository, built and run solo.

ShippedNext.jsPrismaSupabaseExpoVercelPDGA data
baycountydiscgolf.com

Bay County Disc Golf Inc. is a volunteer-run 501(c)(3). Sponsors check the website before they write a check, the city checks it before it returns a call, and a newcomer checks it to find out where and when we play. For five years that was a static site I built in 2021 and maintained alone. This replaced it in 2026.

It’s one platform in one repository. The public side is what a newcomer needs: this season’s calendar with every event’s purpose and charity named, the four courses with the marks drawn for each, media coverage, the brand kit, and how to get in touch. Behind supporter login is the Bay County Handicap System, which took the longest to get right. It’s a handicap per layout at Majette (Red, Blue, White, and Alt) plus an overall, each with a confidence tier that says how many official rounds the number rests on. It’s computed from sanctioned league rounds pulled from the PDGA, and a supporter can see the rounds behind their number. Around that sit the director tools, including league-night check-in with live card assignment, so whoever’s running the night isn’t shuffling paper on a tee pad.

Every page is laid out at phone width first, because the person using it is usually on a tee pad in Florida sun with one hand free. And nothing is hand-maintained that can be computed. Event history, handicaps, and standings all come from data, so I’m no longer the only person who can keep the site current.

It consolidated three earlier projects (a roster and PDGA-sync leaderboard, the old site and portal, and a card-assignment tool) into a Next.js app, an Expo app for members, a Prisma schema on Supabase, and two TypeScript engines for handicaps and card assignment, each with its own tests. Its sibling, monsteratmajette.com, is the course’s own site, reached by QR code from the tee signs.